多租户应用 = SaaS 吗?
所有的 SaaS 应用都应该采用多租户架构吗?多租户架构可以应用于消费者应用吗?
多租户应用的更广泛定义
在上一章中,我们讨论了多租户的一般概念。总结来说,当我们提到多租户应用时,它并不一定遵循某一种架构模型;它可能利用各种租户策略,这意味着至少它的一些组件是共享的。
在这一章中,我们将从业务和产品的角度来探讨多租户应用。
商业中的多租户应用类型
SaaS
多租户应用通常在企业对企业 (B2B) 解决方案中找到它们的定位,如生产力工具、企业资源规划 (ERP) 系统和其他软件即服务 (SaaS) 产品。在这种情况下,每个“租户”通常代表一个商业客户,它可能有多个用户(其员工)。此外,一个商业客户可能拥有多个租户,以代表不同的组织或商业部门。
通用 B2B 用例
B2B 应用不仅限于 SaaS 产品,通常还涉及多租户应用的使用。在 B2B 环境中,这些应用作为多个团队、商业客户和合作伙伴公司访问你的应用的共同平台。
例如,考虑一个提供 B2C 和 B2B 应用的网约车公司。B2B 应用为多个商业客户服务,采用多租户架构可以帮助管理他们的员工和资源。例如,如果公司希望维护统一的用户身份系统,可以设计以下示例中的架构:
让我们以 Sarah 为例。Sarah 既有个人身份也有商业身份。她作为乘客使用网约车服务,同时在空闲时间也担任司机。在她的职业角色中,她与公司 A 有关联,但她也管理自己的个人业务。
多租户在 SaaS 中的重要性
如果你一直关注上面的信息,现在你就有了所需的答案。SaaS,或软件即服务,是从商业模式的视角定义的概念。另一方面,多租户是适用于各种情况的软件架构,无论是在 SaaS 还是其他 B2B 场景中。
SaaS 和多租户之间的混淆往往源于一个广为认可的行业观念:当你以企业客户为目标时,采用多租户方法是必须采取的策略。
这一对多租户的重视源于它在解决企业服务复杂性方面的重要作用,从多个角度提供有价值的解决方案。
通过多租户进行扩展
对于企业业务,多租户是有效满足它们在可用性、资源管理、成本管理和数据安全方面需求的关键。在技术层面上,采用多租户方法可以简化开发过程,减少技术挑战,并促进无缝扩展。
创造统一的体验
在审视 SaaS 产品的根源时,可以将其比作一个住宅楼,里面有多个公寓。所有租户共享水、电、煤气等常用设施,但他们对管理自己的空间和资源拥有独立的控制权。这种方法简化了物业管理。
将你的 SaaS 产品视作这座建筑。与每套单元都有独立的代理相对,某些组件或单元可以为所有租户提供统一的体验。这比单独制作和管理每个房间更高效。多租户架构为你的业务运营和客户提供了优势。
通过租户隔离确保安全
在讨论多租户应用时,重要的是深入探讨租户隔离的概念。在多租户架构中,引入“租户”一词来创建边界,以分隔和保护在共享实例中的不同租户的资源和数据。这确保了每个租户的数据和操作保持独立和安全,即使它们使用相同的基础资源。
在 SaaS 的背景下,多租户架构采用机制严格控制对资源的访问,防止任何未经授权的尝试访问其他租户的资源。
租户隔离的概念可能看起来抽象而不清楚。在下一章中,我们将使用例子和重点来提供关于租户隔离原理和思维模式的更详细理解。