在多租户软件架构(也称为 软件多租户)中,软件应用(及其底层数据库和硬件)的单一实例为多个租户(即用户帐户)提供服务。 租户可以是单个用户,但更多情况下是一组用户,例如共享应用实例的共同访问权和特权的客户组织。 每个租户的数据与共享应用实例的其他租户彼此隔离和彼此不可见,从而确保所有租户的数据安全与隐私。
软件多租户是用于交付 软件即服务 (SaaS) 的架构。 如果贵组织使用 salesforce.com、HubSpot 或其他基于云的 SaaS 产品,那么您就是多租户产品中的一个租户。
有些令人困惑的是,多租户也可以指云托管产品。 在多租户托管(也称为 共享 托管)模式中,单一物理计算机或 虚拟机 (VM) 由多个用户或客户组织共享。 多租户托管解决方案由云服务提供商提供,通常作为单租户或 专用 托管解决方案的更低成本的替代方案。
在本文剩余部分,我们重点介绍软件多租户。 在此可了解有关多租户和单租户托管类型的更多信息。
在单租户架构中,每个租户拥有自己的应用、数据库和支持硬件基础架构的实例,而与之相比,多租户架构为软件提供商和租户客户带来以下显著的优点:
多租户云通常是共享托管或客户在其中共享公有云或私有云中计算资源的架构的同义词,但现在并不经常这样说。 目前,大多数主要的云服务提供商都基于多租户模式交付自己的大多数产品(除专用托管服务外的所有其他服务),这使得提供商能够最大程度利用自己的数据中心硬件和基础架构,从而能够以尽可能低的成本为客户提供云服务。
在为多租户应用选择数据库时,开发人员必须在客户对数据隔离的要求或期望与解决方案迅速而经济地扩展以应对应用流量增长或高峰的能力之间实现平衡。
为确保完全隔离,开发人员可以为每个租户分配一个单独的数据库实例;而在另一个极端,为确保最大程度的可扩展性,开发人员可让所有租户共享同一个数据库实例。 但是,大多数开发人员选择使用像 PostgreSQL 这样的数据存储,以使每个租客在同一数据库实例中拥有自己的模式(有时这称为“软隔离”),从而实现最理想的平衡。
IBM Cloud 提供了数量众多的多租户解决方案,包括 VMware Solutions on IBM Cloud,这种多租户 VMware 环境可保留共享资源或提供专用资源。 这种共享解决方案使用现有 VMware 基础架构和工具,使客户能够在 IBM Clould 中运行基于 VMware 的工作负载或提供工作负载 灾难恢复 功能。 通过使用现有的 VMware 环境,该解决方案为客户带来公有云的优点 - 可伸缩性、高速度和成本效益,而不需要重构应用和工作负载。
此外, IBM® Cognos® Analytics 提供内置的多租户能力。 Cognos BI 的多租户功能并不需要您执行额外的管理任务以管理租户,因为它会复用您现有的身份验证基础架构。 启用多租户后,并不会影响您当前管理用户和组的方式。 要添加、移除或管理租户,只需使用现有的身份验证提供商即可。
要了解有关多租户的更多信息, 请注册一个 IBMid 并创建 IBM Cloud 帐户。