HI,下午好,新媒云不收取任何费用,公益非盈利机构
24小时服务热线: 4000-162-302
请扫码咨询

新媒易动态

NEWS CENTER

多租户是SaaS领域的特有产物,探究何为多租户需回归到对SaaS的理解上

2021-01-24

SaaS领域一般都会涉及到租户的概念,在设计SaaS体系时,最重要的环节之一就是租户系统的构建了;本文从如何构建多租户系统出发,简要阐述对多租户系统的理解。

一、为什么要搭建多租户系统

多租户是SaaS领域的特有产物,探究何为多租户需回归到对SaaS的理解上。

SaaS服务是指部署在云上的,客户可以按需购买,并通过网络请求就能获取到的服务;也就是说,在这样的场景下,会有N个客户同时使用同一套SaaS服务。

那么对SaaS服务供应商来说,构建SaaS体系需要完成两部分工作:上层服务+底层多租户系统。

上层服务是供应商对外售卖的软件服务,其可以为客户创造价值、为公司带来营收;而底层多租户系统则是SaaS模式实现的具体方式,公司在对外售卖SaaS服务时,需要考虑如何实现客户之间的数据隔离、服务的权限控制、计费管理等;因此需要引入多租户概念来解决上述问题。

通过多租户系统,公司可以更好的管理客户和上层服务,客户也可以更好的使用软件服务。

这也就是多租户系统存在的意义了。

二、什么是多租户系统

这里借用一下百度百科对多租户的定义:多租户技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共享相同的系统或程序组件,并且仍可确保各用户间资料的隔离性;简单来说是指一个单独的实例可以为多个组织服务。

其中涉及到了很多的细节点,需要进行说明一下,加深对多租户的理解。

首先是对租户概念的理解。租户是指被赋予了SaaS服务使用权的企业组织,即客户。

SaaS服务供应商根据客户购买需求在多租户系统中配置对应的软件服务版本,生成租户账号,客户拿到租户账号之后就可以使用SaaS服务,那么该客户就是该SaaS服务的一个租户。

一般来说,租户和客户两者是一对一的关系,客户买了a软件服务,开通了一个租户账号,后来又买了b软件服务;此时只需在给之前的租户账号上配置b软件服务的使用权就可以,不需要在重新建立租户账号。

由租户又可延伸到用户和角色这两个概念,这三者是多租户系统中账号和权限体系的重要组成部分,这里面又是有非常大的可钻研空间,后续会单独补充。

其次是多租户与单租户的区别。租户可分为多租户和单租户,简单一点理解就是——多租户是多个客户使用同一个实例,数据存储在相同的位置,通过数据库、数据表和tenantID字段三种方式进行数据隔离,适合标准化程度较高的场景;单租户是指多个客户使用多个实例,各个客户使用的实例和数据存储单独运行,更适合定制化需求场景。

最后是多租户系统与开放平台、aPaaS之间的区别;在查关于多租户系统资料的时候,容易把这几个平台概念和作用搞混,特此进行说明。

1)aPaaS指应用程序平台即服务,由PaaS衍生而来,PaaS面向开发者,提供软件开发所需的平台环境(各类中间件等)或者以API、SDK的形式被客户应用调用;但由于应用开发成本和门槛较高,aPaaS出现,其帮助客户实现低代码甚至0代码开发应用

2)开放平台实际上是PaaS的一种表现形式,我们先来看一下开放平台的定义:软件系统通过开放API或函数使得外部程序可以增加该软件系统的功能或者使用该软件系统的资源;常见的开放平台如微信开放平台、支付宝开放平台、钉钉开放平台等。举例来说,第三方可以调用微信对外开放的微信登录和微信支付接口来实现自己的服务,或者,ISV在微信开放平台上开发自己的小程序等

三者之间的区别是,aPaaS/PaaS/开放平台是软件服务供应商为第三方提供帮助/服务的工具,多租户系统则是软件服务商为自己的软件服务提供帮助的工具。

三、如何搭建多租户系统

区别于传统的软件供应,在服务模式上,SaaS服务采用按需订购模式;在底层设计上,SaaS服务核心点在于数据隔离与数据安全;那么多租户系统作为SaaS模式实现的具体方式,自然也是关注上述几个点。

具体来说,针对多租户使用者(客户和公司),多租户系统主要解决以下几个层面的需求:

  • 租户注册与身份认证、账号管理、权限配置;
  • 计费方式、定价、收费、支付、欠费;
  • 应用增删改查、代码接入教程、应用监控、统计报表、消息中心;
  • 数据存储方案、安全机制;

针对产品需求进行剖析,由需求引申到功能,梳理出多租户系统的基本功能清单。


相关推荐