一、什么是多租户?多租户是SaaS领域的特有产物,在SaaS服务中,租户是指使用SaaS系统的客户,租户不同于用户,例如,B端SaaS产品,用户可能是某个组织下的员工,但整个企业组织是SaaS系统的租户。多租户技术是一种 ...
一、什么是多租户?多租户是SaaS领域的特有产物,在SaaS服务中,租户是指使用SaaS系统的客户,租户不同于用户,例如,B端SaaS产品,用户可能是某个组织下的员工,但整个企业组织是SaaS系统的租户。多租户技术是一种软件架构技术,可以实现多个租户共享系统实例,并且租户间能够实现数据与行为的隔离。 二、传统软件模式 VS SaaS模式传统软件项目一般是指,面向客户开发一套特定的软件系统,并部署在独立的环境中,通常是企业内部环境。而SaaS模式,是将软件服务部署到云端环境,可以面向不同的客户提供相同的软件服务。 三、SaaS多租户隔离模式对于SaaS模式,多租户间的资源隔离是非常基础的能力,出于成本和运营效率考虑,SaaS服务商需要构建多租户可同时访问软件的环境,不同租户虽然访问同一套SaaS产品服务,但资源访问需要严格隔离开。 1. SaaS资源隔离包含几个层次
多租户架构主要是解决第一层的隔离问题,即计算、存储、网络等资源的隔离。为了实现多租户隔离架构,我们先要搞清楚常见的几种多租户隔离模式。 2. 竖井隔离模式有些SaaS服务商会选择竖井隔离模式,即每个租户都运行在隔离的一套资源中。有人会说,这不就是传统软件模式吗,为什么会是SaaS模式呢?但如果这些竖井式的资源,拥有标准化的租户身份识别、入驻流程、计费体系、部署流程、运营流程,那边它依然是SaaS模式,只不过每个客户都有一套端到端的基础设施。 优势:
劣势:
3. 共享模式相信很多SaaS服务商会优先选择共享模式,即多租户共享一套基础设施资源,这样能让SaaS软件服务更加高效、敏捷、低成本。 优势:
劣势:
四、分域隔离模式传统大企业更喜欢私有化部署、个性化交付的传统模式,因为他们需要更强的管控和更高的安全性。然而,中小企业付费能力有限,需求往往也更加标准化,所以更喜欢价格更低的、订购更简单的SaaS产品。为了满足不同客户的需求,还有一种混合了竖井模型与共享模型的模式,即分域隔离模式。在该模式下,会细分基础域、专用域,基础域是使用共享模型,所有租户共享一套资源;而专用域是使用竖井模型,每个租户都有独立的资源环境。对于大多数中小客户来说,他们都是在基础域环境使用SaaS产品,只有少量的大客户会在专用域使用SaaS产品,通常他们付费能力强,有强烈的强隔离需求。但需要注意的是,为了避免多套产品版本出现,SaaS服务商需要保证基础域、专用域的产品版本一致,个性化的部分尽可能通过构建PaaS平台,让ISV参与建设。否则,一旦SaaS产品的标准化程度降低,后续各版本的维护将变成灾难。 五、多租户系统的定位了解各种多租户隔离模式后,我们来总结下多租户系统的定位。多租户系统是为了满足多用户使用一套产品,并实现用户间的数据与行为隔离,但根据用户需求不同,可以共享或隔离软硬件资源,系统架构上能够灵活支持多种隔离模式。 多租户系统需要具备的能力:
六、多租户概念模型1. 多租户核心概念
2. 概念模型设计
七、多租户核心场景1. 租户内部模型关系对SaaS产品来说,租户是最顶层的概念,租户内部拥有组织、用户、产品能力、云资源等模型,租户就像租了一套大房子,其他模型都是房子内部的家具或设施。 2. 租户身份识别在各种隔离模式下,识别租户身份,获取租户的资源配置,是非常关键的。当一个用户登录SaaS系统后,系统会返回租户上下文信息,上下文会包含用户绑定的租户信息,以及隔离模式。租户上下文信息会被附加在每一次系统交互中,贯穿整个系统调用链路,让上游调用方知道路由到哪些下游资源。 3. 租户计费计量管理在竖井隔离模式下,由于资源本身就是隔离的,所以可以根据占用的计算、存储、网络资源来计费计量,逻辑相对简单。在共享模式下,计费计量就比较复杂,我们要能准确地采集到各个租户对实际资源的使用情况,一般会根据请求并发量、存储容量、数据对象数量等数据来进行组合计费。 八、多租户系统应用架构总结本文首先介绍了什么是多租户,对比传统软件模式与SaaS模式的区别。通过分析多租户的三种隔离模式,逐步梳理出多租户的系统架构设计,包括概念模型、场景推演、应用架构等。 |
2022-05-12
2021-10-20
2022-04-28
2022-05-07
2022-05-10
回答
回答
回答
回答
回答
回答
0