多租户是一种技术
金蝶云社区-operamasks
operamasks
6人赞赏了该文章 1287次浏览 未经作者许可,禁止转载编辑于2021年12月13日 10:22:10

在云时代,我们经常会听到“多租户”的概念。什么是多租户?多租户是如何实现隔离与共享的?多租户有哪些应用场景?租户模型可以怎样划分?在本文及后续的文章中,我们将围绕“多租户技术”做一系列的探讨。


1、什么是多租户技术?


多租户是一种技术。


在云计算的时代,我们经常会提到云的“租户”,很多场景下会将“租户”与“用户”或“用户组”划等号。然而,租户是多租户模型中的技术概念,而用户通常是业务层面的角色。例如,当我们使用微信在线交流时,我们感受到的是在使用自己的一套软件,有独立的通信录、朋友圈、零钱账户、收藏夹......这时,我们每个用户对于微信来说,就是一个租户,我们使用手机上的微信客户端与其他租户共享部署在云端数据中心的微信服务。微信本身是一套非常复杂的系统,不仅包含本身提供的即时通信服务、支付服务以及账户服务等应用层的内容,还要有相应的技术栈去支撑这些应用服务,除此之外,微信还要提供性能、可用性、安全性等方面的保障...... 如果要为每个用户单独部署这样一套系统显然是不可行的,因此我们每个用户就成为了共享一套微信应用系统下的多个租户,同时,租户间通过隔离机制为每个用户划分出不同的空间,使每个用户看似拥有各自独立的账户和应用实例。


支撑以上场景的技术就是多租户技术,其中被隔离的每个共享底层资源和技术栈的业务单元即为租户。多租户技术的发展可以追溯到20世纪60年代,在大型机作为稀有计算资源的年代,大型机作为科研机构的一种中心化公用计算资源,通过分时操作系统为多个用户同时提供计算服务,每个接入到大型机的用户与其他用户共享大型机的资源,彼此之间不受影响。到了云计算的时代,中心化的资源由物理的大型主机变为了由分布式的集群节点构成的逻辑上中心化的云计算资源,云计算可供租户共享的资源也趋于多样化,不仅限于类似于分时操作系统所提供的计算能力,针对不同需求的租户可以按需提供相应技术栈的能力。在大型机的分时系统中,每个用户对应一个租户,将任务提交给计算机,利用CPU的分片进行计算;在云计算时代,每个用户可以对应多个逻辑上的租户,使用云计算以租户为单元隔离的软硬件环境和能力,达到其业务上的目标。


2、多租户模型


在云计算的服务供应和消费过程中,云服务提供者将基础设施、应用平台和业务应用等模式的服务(以及服务所依赖的资源和技术栈)以租户为单元提供给用户。在提供不同粒度、模式和不同部署方式(公有云、私有云、混合云)的云服务时,云服务提供者的租户模型会随之变化,通过租户屏蔽服务实现和供应的细节。因此,可以认为,多租户是云计算服务供应的模型。

image.png

在多租户的模型中,用户订阅的云服务内容通过租户进行隔离,每个用户可以关联到一个或多个租户。例如,用户订阅了SaaS中的CRM服务和HCM服务,从云服务提供者的角度,两类服务是分开部署的两个应用实例,用户同时订阅这两类服务,该用户就分别成为了两个应用实例的租户。又如,在PaaS中,用户同时订阅了消息队列、数据库和API网关作为软件运行的功能组件,他可能分别获得这三个功能组件服务的租户,与其他用户共享底层的技术栈和组件实例,在逻辑上却是隔离的。

image.png

                                                 图 多租户模型

3、多租户在资源的利用、维护等方面有哪些优势


(1)多租户技术增强了云的规模效应。多租户将云服务所提供的业务与基础设施、应用平台和业务应用实例的部署和管理解耦,支持资源的按需配备,统一部署实例并进行中心化的管理,提升了资源利用率,更大程度上“榨干”每个部署实例的能力,发挥云的规模效应优势。


(2)多租户能够降低云服务的维护成本。云服务提供者可以采取复杂但有效的架构为用户提供服务,在同时为多个租户提供服务时,由于采用了同样的部署架构,云服务提供者只需对同一套技术栈进行维护,因而降低了总体运维的成本,同时也为用户提供了更好的服务。例如,Pulsar作为目前最先机的消息队列,可以为用户提供低延时、高可用的消息服务,支持跨地域的复制、批流一体等高级特性,但对于单个实例的部署极为复杂,单一业务系统使用的维护成本过高。在云平台中,云服务提供者可以部署一套Pulsar实例以多租户的方式同时为多个用户提供服务,其维护成本要远低于为每个用户提供独立的消息队列实例。


(3)多租户能够提供更好的服务保障。多租户模式下,用户的技术栈是共享的,在云服务提供者提供服务支持和保障的过程中,可以更加聚焦,针对统一的技术栈进行技术服务“兜底”,包括为用户的服务订阅和使用提供技术支持,帮助用户解决问题,对技术栈进行升级和更新,全局的容量管理等。


对于多租户来说,共享与隔离的粒度和范围决定了云的服务模式(SaaS、PaaS、IaaS)和部署方式。在后续的文章中,我们将一起探究多租户中的共享与隔离。

本文转载自:[微信公众号]TC星球

作者:林琳

原文链接:https://mp.weixin.qq.com/s/-k27ZdCKQ9tJaFvycX8kWA

赞 6