首页 > 编程知识 正文

系统租户的概念,saas应用有哪些

时间:2023-05-03 06:54:14 阅读:128199 作者:3086

目前,很多企业引进了SaaS产品,其多租户也必然是SaaS的天然属性之一,多租户意味着应用逻辑水平的隔离,如何搞好单租户和多租户是SaaS应用多租户设计的核心关注点; 作者详细介绍了对多租户系统的简单理解,让我们一起来看看。

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

http://www.Sina.com/http://www.Sina.com /

SaaS服务是指部署在云中、可由客户按需购买并通过网络请求的服务,在这种情况下,n个客户将同时使用同一SaaS服务。

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

上层服务是供应商对外销售的软件服务,能够为客户创造价值、为公司创造收益的底层多租户系统是SaaS模式实现的具体方式,公司在对外销售SaaS服务时,客户之间的数据因此,为了解决上述问题有必要引入多租户的概念。

多租户系统使企业能够更好地管理客户和更高级别的服务,客户也能够更好地使用软件服务。

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

多租户是SaaS领域的特有产物,探究何为多租户需回归到对SaaS的理解上。现在借用百度百科多租户的定义吧。 多租户技术是一种软件体系结构技术,它考虑如何在多用户环境中共享同一系统或程序组件,并确保各用户之间的资料隔离性。 简而言之,这意味着一个单独的实例可以为多个组织服务。

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

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

如果SaaS服务提供商根据客户的购买需求配置支持多租户系统的软件服务版本,生成租户帐户,并且在客户获得租户帐户后可以使用SaaS服务,则该客户可以使用该SaaS服务

一般来说,租户和顾客是一对一的关系,顾客购买a软件服务,开设租户账户,然后购买b软件服务,在以前的租户账户中设定b软件服务的使用权即可,租户账户

可以从租户扩展到用户和角色两个概念,这三个概念是多租户系统中账户和权限体系的重要组成部分,其中有非常大的可钻空间,以后会单独补充。

其次是多租户和单租户的区别。 租户分为多租户和单租户。 简单来说,——多租户适合于多个客户使用同一实例、数据存储在同一位置、通过数据库、数据表和tenantID字段三种方式隔离数据、实现标准化的场景。 单租户是指多个客户使用多个实例,每个客户使用的实例和数据存储独立运行,因此适合于定制需求方案。

最后是多租户系统与开放平台、aPaaS的区别; 在查阅有关多租户系统的资料时,容易混淆这些平台的概念和作用,因此进行说明。

1 ) aPaaS是指从PaaS派生的APP应用平台或服务。 PaaS面向开发者,提供软件开发所需的平台环境(各种中间件等),或者以API、SDK的形式调用到客户APP应用程序中。 但是,由于APP应用程序开发成本和门槛高,aPaaS出现了,它可以帮助客户实现低代码或0代码开发APP应用程序

2 )开放平台实际上是PaaS的表现形式。 首先来看看开放平台的定义吧。 软件系统通过开放API或函数,使外部程序能够添加该软件系统的功能和使用该软件系统的资源。 常见的开放平台,如微信开放平台、支付宝(Alipay )开放平台和钉钉开放平台。

例如,第三方可以调用向微信外部开放的微信登录和微信窗格界面来实现自己的服务,ISV可以在微信开放平台上开发自己的applet。

三者的区别在于,aPaaS/PaaS/开放平台是软件服务提供商向第三方提供帮助/服务的工具,而多租户系统是软件提供商提供自己的软件服务的工具

二、什么是多租户系统与传统软件供应不同,服务模式下SaaS服务采用按需模式; 在基本设计中,SaaS服务的中心点是数据隔离和数据安全。 多租户系统作为SaaS模式实现的具体方式当然也关注这些方面。

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

租户注册和认证、账户管理、权限配置;

收费方式、定价、收费、支付、未付

添加删除调查、代码访问教程、APP应用程序监视、统计报告、消息中心

数据存储方案,安全机制

分析产品需求,从需求到功能,整理多租户系统的基本功能列表。

备注:笔者负责的产品是基于SDK开发的SaaS服务,需要客户使用服务

配置应用集成SDK,并非是提供SDK标准接口供第三方直接调用或二次开发;所以本次多租户系统的搭建会和直接部署使用SaaS服务(如ERP、CRM)的有所不同,但又会和开放平台的搭建存在相似之处。

多租户系统使用者是客户和公司内部管理员,可将多租户系统的功能划分为两类:面向公司内部管理员和面向客户,两类功能通过权限来进行数据范围访问控制。

面向公司内部管理员的功能主要有:租户管理、产品管理、计费管理中的计费方案、权限管理、运营管理;面向客户的功能主要有:权限管理、应用管理、运营管理、计费管理中的充值、账单等。

1. 租户管理

客户接入服务时,需提供公司名称、机构代码等信息,经过审核后创建租户账号,租户账号中的产品权限、功能权限等配置可根据客户选择接入的产品版本自动配置;或者由商务线下沟通,线上手动完成配置。

2. 产品管理、计费管理

SaaS服务对外售卖时会分为多个不同的版本,比如按用量或按功能来划分,因此一般需设计多种计费方案,公司按照不同的计费方案来配置产品版本和权限。

客户使用不同的产品版本时,涉及到购买、账户充值、支付、账单管理,以及续费、欠费、产品升级等。

3. 权限管理

客户的公司在使用服务时,总会涉及到权限问题:哪些人只能使用服务的一个功能,哪些数据只能高层看等等,这时可以通过对角色和用户进行权限分配。

一般来说,先设置角色,对角色赋予权限,然后再将角色赋予到用户上,这样用户就有了该角色所拥有的权限,需要进行权限修改时,只需修改角色的权限就可。

在用户管理中可以导入客户公司的组织架构,包括人员、岗位、部门等,对特定人员、岗位、部门赋予角色权限就可。

4. 应用管理

有的SaaS服务需要先接入SDK进行使用,这时就需要客户先创建应用,添加SDK代码;公司提供SDK接入教程、接口规则、接入限制等;当应用调用服务时,一般需要校验签名、防止乱塞数据。

5. 运营管理

客户和公司都需要对服务的使用情况进行监控,通过统计报表进行可视化展示,当出现异常情况或服务快到期时,进行消息提醒。

6. 数据隔离与安全

数据隔离和数据安全是图中没有体现出来的部分,但实际上体现在每一个使用环节。

数据隔离方式分为三类:

独立数据库、共享数据库通过数据表隔离、共享数据库和表通过字段隔离;一般来说,数据隔离可以按租户和租户下面的应用两种方式进行隔离。

数据安全包括应用和敏感数据加密、身份认证、权限控制、网络监控、数据传输、IP地址管控、黑白名单等。

四、多租户系统的设计

有了功能模块之后,如何将功能模块串联起来,只有在实际的业务场景中跑的通的系统才有价值,这也能帮助我们对多租户系统的设计有更全面的认知。

一个典型的SaaS服务购买流程是:免费试用申请→demo体验→付费购买→使用服务→续费or取消服务。

将这一过程展开,可得到下面具体的业务流程:

有几个注意事项:

1)多租户系统和SaaS服务系统使用同一套账号体系,同一用户免费试用和正式付费阶段账号不变,通过权限控制访问范围就可。

2)免费试用阶段可以给客户提供两个选择,接入SDK和不接入SDK试用demo,后者是mock数据让客户体验,但正式付费后还是需要接入SDK。

3)SDK接入之后,会先在测试环境跑通,在发布到生产环境,两个环境通过参数进行区分。

4)计费方案中期限和使用额度应该配置在租户账号下还是配置在具体的应用下?

分不同情况而定:

一般来说,对于按量(调用次数、人数等)售卖的SaaS服务来说,期限和使用额度配置在租户账号下,也就是说,SaaS服务供应商不需要关心客户具体是怎么使用的服务的,只需要在租户层面控制服务的使用期限和使用额度就好。

另外一种情况,对于按以单个应用为服务整体不可拆分的SaaS服务来说,使用期限配置在应用层面,比如腾讯云的移动应用安全产品。

5)免费试用到期和正式付费后不再续费的租户,一般会由商务进行跟进,如果完成不了转化,对于这些到期账号下的数据,一般在保存1个月后自动删除

五、后记

至此,一个简单的多租户系统就搭建起来了,可大概窥见全貌;但是,实际上,这套多租户体系中仍然有非常多需要深挖的细节,比如权限管理、计费方案设计等。

文章来源:人人都是产品经理,作者:细嗅蔷薇;

编辑:霸气的水杯匠 | 数商云(微信ID:shushangyun_com)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。