深入解析SaaS平台多租户设计:从概念到实践,助力产品经理全面理解

2025-02-07
来源:网络整理

许多人对SaaS平台的多租户设计缺乏概念上的支持,因此他们会发现很难理解。本文列出了SaaS系统的多租户设计的结构以及各种设计的特征。我相信SaaS产品经理会很有帮助。

几天前,我经历了一家公司的SaaS系统,其中一些同事从事技术工作。从操作平台到租户授权平台,再到业务应用程序,该应用程序的步骤非常复杂,因此技术同事不了解原因。如此复杂。我发现他们实际上对SaaS平台的多租户设计知之甚少。由于缺乏概念上的支持,因此很难理解这种设计。

对于SaaS平台新手的产品经理来说,可能有很多他们不了解的事情。本文将讨论SaaS平台的多租户设计。

1。从查看实际的多租户方案

在谈论设计之前,让我们以“ ”为例,以了解SaaS平台的工作原理。我相信大多数B-End产品经理都经历了。我们讨论了在两个维度上的注册和使用的过程。

一个是从个人角度使用的过程。下图显示了亲自使用的过程。此过程省略了个人注册和其他人以添加朋友进行聊天的功能,实际上这并不是B端业务范围。

这里的关键是您要在某个企业(或团队,我们以下面的方式称呼租户)下使用这些功能。首先,您需要邀请您加入某个租户。此外,可以邀请一个帐户加入多个租户。

如果您属于多个租户,则需要在使用与租户相关的操作之前先改用该租户。例如,我们的工作台和云磁盘与租户有关。下图是的工作台。默认情况下将有一个租户,可以通过下拉进行切换。

因此,从租户的角度来看,它看起来像什么?该过程如下图所示。

与个人不同,对于租户,有几个步骤来创建团队,认证企业并邀请成员。这属于管理员型函数,其中不需要企业身份验证,但是经过认证的企业具有更多的功能和资源。

通过的示例,我们将获得以下实体关系:

这是一种基本关系,因此您必须理解它。因此,实际上,一般的SaaS平台有三个后端:

运营管理后端:即平台操作管理的后端系统,该系统通常用于管理租户,主要是租户的权限和资源分配管理;我们无法作为SaaS用户访问此平台,但是由于SaaS产品设计至关重要。租户管理后端:也就是说,租户使用的管理后端主要由租户管理员使用,以管理成员并分配租户内部成员的权限和资源。业务应用程序:也就是说,实际租户的每个成员使用的业务系统。例如,我们通常使用的桌面和应用程序实际上是业务应用程序。实际上有多个业务应用程序。例如,的OA批准,出勤系统,智能表格填充等实际上都是所有业务应用程序。为了简化某些设计,在后端系统上,租户管理后端和业务应用程序将合并为一个后端。 2。房客许可和资源管理

对于一个平台而言,租户是他们服务的主要对象,也是SaaS系统的订阅者的最终买家。因此,SaaS操作管理后端的核心功能是平台上租户权限和资源管理的管理。许可管理与SaaS平台的订阅模型具有相对较大的关系,从抽象的角度来看,它也可以被视为资源。在我们的普通SaaS中获得许可有两种方法:

按销售版本订阅:此不同版本将具有不同的功能。该平台本身通常使用的业务应用程序是单个应用程序,也就是说,权限在应用程序内部,并且根据租户订阅的版本分配不同的功能。按应用程序订阅:此平台相对较大,并且该平台将具有多个应用程序。租户首先选择在平台中打开某些应用程序。当然,可以在应用程序中进一步细分销售版本,而实际上是该模型。该模型更为重,但是它将更具扩展性,并且适用于专门用于构建开放式应用平台的SaaS产品。

两种模式的结构比较如下所示。当然,多应用SaaS平台的每个应用程序也可以分为单独的销售版本。

租户开发程序小结怎么写_租赁app开发_开发多租户小程序

资源通常分为两类,一个是平台级资源,另一个是应用内资源。平台级资源由平台统一管理,例如,应用程序寿命等中指甲磁盘的容量。

应用内资源是每个应用程序本身的资源,例如授权帐户的数量(当然,某些平台也将具有帐户限制的总数),文本消息的数量等。

该资源管理的原则是,谁维护它,即由平台维护的资源由平台管理,并且应用程序维护的资源由应用程序管理。以下是资源关系结构图。一般而言,资源将要求租户购买,否则该平台将定期发布免费资源(例如,的“ SMS ”意味着有免费的每月津贴)。

3。菜单管理

由于涉及不同的销售版本,因此将有菜单管理,也就是说,菜单需要统一管理,然后将菜单合并到销售版本中,最后根据房客购买的版本授权。最后,属于客户的那个。菜单。

这里还有一个问题,也就是说,菜单由平台或应用程序管理。实际上,这两种模型实际上都可用。我们遇到的平台是该平台的统一管理,即,必须在平台上配置该应用程序,以便租户可以使用它。

就个人而言,不建议使用该平台的统一管理方法。一方面,它导致平台和应用程序之间的强烈耦合。如果平台具有第三方应用程序,则意味着第三方需要将菜单与平台同步;另一方面,它限制了平台的灵活性,因为由于它是菜单,因此有必要以统一的方式进行管理。有一个标准的菜单管理模型,该模型要求该应用程序必须遵循平台的规则。另一件事是该平台需要向应用程序开发人员(或运营商)打开帐户管理菜单,这实际上增加了复杂性。

实际上,应用程序开发人员还将拥有一个相应的操作团队,并且该平台只需要为租户和应用程序开发人员提供通信渠道。例如,在租户成功订阅申请后,他或她可以通知申请开发人员以及时维护租户的权限。

因为,在实际的B边企业中订阅了一个应用程序,将有一个订单付款过程。通常,付款是汇款(当我们在上购买第三方申请时,我们还会分别向第三方付款,而不是通过付款,这种类型的渠道意味着该服务仅在付款成功后才涉及。

当然,也有免费的试用期。目前,只要租户订阅该应用程序,应用程序开发人员的售后团队就可以提前干预以提供服务。实际上,随后付款后也可以接受。

使用菜单管理,SaaS的实体关系已成为以下内容,此处省略了资源。实际资源与销售版本有点相似,只是将有平台级和应用内资源。总而言之,每个实体的关系如下:

4。多租户设计的核心点

有了上述整体概念,我们知道SaaS多租户设计的核心点,如下图所示。这里有几点:

1。用户和帐户之间的差异

对于平台,注册帐户实际上是平台用户,必须通过用户确定用户。

同时,为了使用户转换租户,需要用户租户管理(即,用户属于的租户);对于租户而言,用户实际上是一个帐户,即在我的租户下已打开的帐户。通常,一个帐户对应于员工。

应当指出,租户下的帐户可以被取消(或禁用)。例如,如果员工离开,他仍然可以使用该平台,但是他不能使用租户下的功能。

2。订单管理

租赁app开发_租户开发程序小结怎么写_开发多租户小程序

平台,应用程序和租户可以看到订单,但范围不同。该平台管理整个平台的订单(除非平台涵盖应用程序中的交易链接,否则不包括其自己的资源订单),而房客则看到其自己的订单。

3。租户许可管理

如果平台是一个纯平台,则实际上可以在没有权限的情况下对其进行管理,但是通常,SaaS平台不会是空的架子,并且会有一个或多个核心工具应用程序。这取决于平台的设计。无论您是从一开始就将申请视为第三方还是通过特殊待遇对待。

应用程序管理租户的权限主要用于管理销售版本,通常可以通过订单同步自动管理。但是,应考虑特殊情况。例如,租户可以购买较低级别的版本,但是为了宣传高级版本,可以在背景中启用租户以试用高级版本。

4。租户后端

租户后端实际上可以与业务应用程序混合,但是管理员的权限不同。租户的后端主要邀请会员(开设一个帐户),执行授权管理(通常有功能许可和数据权限),然后管理他们在平台上消耗的资源和订单,主要是购买和查看。

5。业务应用

通常,基层员工更频繁地使用它,管理层提供了更多的报告功能。这主要是一种业务应用程序功能,可以支持用户更换租户并促进租户使用租户打开的成员。

5。多租户数据存储设计

从技术上讲,有三种存储来自多个租户的数据的方法。最简单的是共享数据表,即不同租户的数据存储在同一数据表中,然后以租户ID区分。这适用于小型SaaS应用。优势在于它很容易开发和实施,缺点是不同租户之间的操作数据将产生一定的影响(因为如果多个租户同时操作,则会出现同时发生的绩效问题)。

另一个是子桌设计,也就是说,尽管不同租户的数据表结构是相同的,但它们使用各自的数据表。例如,如果权限表名是auth,则称为租户A,租户B被调用。该设计需要动态地基于租户创建表。通常,表名称将具有租户ID来区分独特性。在隔离方面,它比共享表好得多,并且具有更高的复杂性。同时,由于共享数据库,因此总体性能将受到数据库性能的影响,也就是说,租户之间的操作仍将在一定程度上相互影响。

最后一个是库设计,这意味着不同的租户使用不同的数据库,因此数据完全隔离。当然,技术实施是最复杂的。对于具有较重业务系统的垂直SaaS应用程序,建议以这种方式设计。因为SaaS系统渗透到客户业务中通常以高频运行。随着客户数量的增加,如果数据没有分开,则会发生性能瓶颈。

当然,您实际上可以使用渐进的数据存储设计,也就是说,当客户少时,客户少时,客户少时,客户少,最终少了。数据库设计。这种成本在早期阶段很低,并且后期将有数据迁移成本。

6。摘要

本文列出了SaaS系统的多租户设计结构和各种设计特征。我相信这对SaaS产品经理有很大帮助。对于SaaS系统的设计,如果您想研究复杂的SaaS系统,建议您体验 和。相比之下,尽管云制造商的背景与SaaS并不相似,但基本的设计思想是相同的。云供应商的设计更为复杂,涵盖了多个业务子系统和多个资源分配。

分享