首页 理论教育 多租户SaaS架构在云计算中的应用

多租户SaaS架构在云计算中的应用

时间:2023-11-26 理论教育 版权反馈
【摘要】:SaaS服务本质上是一种技术的进步,这涉及SaaS服务所采用的架构。其中,多租户模式具有较强的软件配置能力,在商业SaaS服务中最为常见。多租户是实现SaaS的核心技术之一。多租户是决定SaaS效率的关键因素。它将多种业务整合到一起,降低了面向单个租户的运营维护成本,实现了SaaS应用的规模经济,从而使得整个运维成本大大减少,同时使收益最大化。

多租户SaaS架构在云计算中的应用

SaaS服务本质上是一种技术的进步,这涉及SaaS服务所采用的架构。SaaS服务的架构可以分为三种,分别为:多用户(Multi-user)、多实例(Multi-instance)、多租户(Multi-tenant)。其中,多租户模式具有较强的软件配置能力,在商业SaaS服务中最为常见。

1)多租户架构

首先,需要厘清三个概念,即多用户、单租户、多租户。

多用户,即不同的用户拥有不同的访问权限,但是多个用户共享同一个实例。

单租户,又被称作多实例(Multi-instance),指的是为每个用户单独创建各自的软件应用和支撑环境。通过单租户的模式,每个用户都有一份分别放在独立的服务器上的数据库和操作系统,或者使用强的安全措施进行隔离的虚拟网络环境中。

多租户[2],也称为多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。

多租户是实现SaaS的核心技术之一。通常,应用程序支持多个用户,但是前提是它认为所有用户都来自同一个组织。这种模型适用于未出现SaaS的时代,组织会购买一个软件应用程序供自己的成员使用。但是在SaaS和云的世界中,许多组织都将使用同一个应用程序;它们必须能够允许自己的用户访问应用程序,但是应用程序只允许每个组织自己的成员访问其组织的数据。从架构层面来说,SaaS和传统技术的重要区别就是多租户模式。

多租户是决定SaaS效率的关键因素。它将多种业务整合到一起,降低了面向单个租户的运营维护成本,实现了SaaS应用的规模经济,从而使得整个运维成本大大减少,同时使收益最大化。多租户实现了SaaS应用的资源共享,充分利用了硬件、数据库等资源,使服务供应商能够在同一时间内支持多个用户,并在应用后端使用可扩展的方式来支持客户端访问以降低成本。而对用户而言,他们是基于租户隔离的,同时能够根据自身的独特需求实现定制。

在一个多租户的结构下,应用都是运行在同样或者是一组服务器下,这种结构被称为“单实例”架构(Single Instance),单实例多租户。多个租户的数据保存在相同位置,依靠对数据库分区来实现隔离操作。既然用户都在运行相同的应用实例,服务运行在服务供应商的服务器上,用户无法去进行定制化的操作。因此,多租户比较适合通用类需求的客户,即不需要对主线功能进行调整或者重新配置的客户。

2)多租户的实现方案

多租户就是说多个租户共用一个实例,租户的数据既有隔离又有共享,说到底就是如何解决数据存储的问题。目前,SaaS多租户在数据存储上存在三种主要的方案,分别是完全隔离、部分共享以及完全共享。下面就分别对这三种方案进行介绍。

①完全隔离:每个租户使用单独的数据库。

图2-4 完全隔离方案

这是第一种方案,即一个租户(Tenant)有一个数据库(Database)。这种方案的用户数据隔离级别最高,安全性最好,但成本也高。

优点:为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求;如果出现故障,恢复数据比较简单。

缺点:增大了数据库的安装数量,随之带来维护成本和购置成本的增加。(www.xing528.com)

这种方案与传统的一个客户、一套数据、一套部署类似,差别只在于软件统一部署在运营商那里。如果面对的是银行、医院等需要非常高数据隔离级别的租户,可以选择这种模式,提高租用的定价。如果定价较低,产品走低价路线,这种方案一般对运营商来说是无法承受的。

②部分共享:共享数据库,但是使用单独的模式。

图2-5 部分共享方案

这是第二种方案,即多个或所有租户共享一个数据库,但每个租户都有一个模式(Schema)。

优点:为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并不是完全隔离;每个数据库可以支持更多的租户数量。

缺点:如果出现故障,数据恢复比较困难,因为恢复数据库将牵扯到其他租户的数据。

如果需要跨租户统计数据,存在一定困难。

③完全共享:使用相同的数据库和相同的模式。

这是第三种方案,即租户共享同一个数据库、同一个模式,但在表中通过tenantID来区分租户的数据。即每插入一条数据时都需要有一个客户的标识,这样才能在同一张表中区分出不同客户的数据。这是共享程度最高、隔离级别最低的模式。

优点:维护和购置成本最低,允许每个数据库支持的租户数量最多。

图2-6 完全共享方案

缺点:隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量;数据备份和恢复最困难,需要逐表逐条备份和还原。

如果希望以最少的服务器为最多的租户提供服务,并且租户接受以牺牲隔离级别换取降低成本,这种方案最适合。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈