在云计算领域,“租户”一词指的是一组或一个独立用户,他们被授予访问共享计算资源池的权限。这些资源池包括存储空间、服务器和应用程序等,均由云服务供应商提供。
每个租户与其他租户之间相互隔离,这意味着他们无法触及彼此的数据或资源。尽管多个租户可以共用相同的基础设施,但他们的隐私和安全仍然得到保障。租户可以是个人、组织,或者组织内部的某个部门。
当资源和基础设施完全为单个租户所用时,我们称之为单租户架构。反之,若多个不同的租户共同使用同一资源,则属于多租户架构。
单租户和多租户架构之间的界限有时会比较模糊。例如,你可以使用像AWS这样的云服务供应商来搭建单租户或多租户架构。真正的差异在于细节方面。接下来,我们将深入探讨这些细节。
来源: 博客.sap.com
在深入了解细节之前,我们先快速概括一下这两种架构的特点。
功能 | 单租户架构 | 多租户架构 |
资源共享 | 不与他人共享 | 在多个客户之间共享 |
定制化 | 高度可定制 | 有限定制 |
成本 | 通常较高 | 通常较低 |
安全性 | 增强的安全性 | 较低的安全级别 |
性能 | 可预测的性能 | 可扩展性影响 |
维护 | 客户维护资源 | 云提供商处理维护 |
协作 | 有限的协作 | 更好的协作 |
合规性 | 更好地遵守特定法规 | 为所有租户提供标准流程 |
单租户架构
单租户云应用程序的设计宗旨是为单个客户或组织提供服务,它提供的专用资源不会与其他客户共享。
来源: cncf.io
在这种模式下,单个客户或租户独占访问云端的服务器、应用程序或基础设施。客户可以完全掌控这些资源,并根据自身特定需求进行定制。这意味着云资源是为该客户专门准备的。
这个独立的租户可以根据自身特殊要求对资源进行定制,从而获得更高的灵活性和对资源的控制权。
由于客户需要为专用资源支付费用,单租户架构通常比多租户架构更昂贵。
以下是在 AWS 云中构建端到端单租户架构的示例:
- 创建虚拟私有云 (VPC),以实现单租户资源的隔离。VPC 提供网络隔离和安全性。
- 使用身份和访问管理 (IAM) 来管理单个租户对资源的访问。IAM 可以创建策略来定义租户可以访问哪些资源。
- 使用弹性计算云 (EC2) 为单个租户配置虚拟机。EC2 创建具有特定配置的实例,并提供对资源的完全控制。
- 使用弹性块存储 (EBS) 为虚拟机提供块级存储。
- 使用关系数据库服务 (RDS) 为单个租户提供托管数据库服务。可以为租户创建独立的数据库实例,以提供隔离和安全。
- 使用 Amazon S3 来存储图像、视频和文档等静态资源。可以为租户创建独立的存储桶,只有该租户可以访问。
- 使用弹性负载均衡器 (ELB) 在应用程序的多个实例之间分配流量,所有这些都位于专用于您的租户的资源内。
云应用程序示例
以下是一些最常用于单租户架构的云应用程序示例:
- Workday 是一款基于云的人力资源和财务管理软件,为客户提供单租户架构。
- SAP HANA 基于云的平台。
- Oracle 云架构。
- IBM Cloud Dedicated 具有不与其他客户共享的专用资源。
- Rackspace 私有云。
单租户云架构的优势
与多租户架构相比,单租户云架构具有以下几个优点:
- 由于资源专用于单个客户,安全性得到了增强。客户对其资源的安全性拥有完全的控制权,从而消除了多租户环境中可能发生的数据泄露或未授权访问的风险。
- 更大的定制化是另一个优势。您可以根据自己的具体需求定制资源,从而获得更高的性能和效率,并在软件和硬件选择方面具有更大的灵活性。
- 由于资源专用于单个客户,性能可预测。您可以期待一致的性能负载,这对需要高水平性能和可靠性的应用程序非常重要。
- 由于资源仅供一个租户使用,因此可以更好地遵守特定的法规或标准。
- 更高的可扩展性,因为客户可以根据需要扩大或缩小资源。
然而,单租户架构通常比多租户架构更昂贵,因此不一定是所有组织的最佳选择。
单租户云架构的实际用例
以下是单租户架构的一些最佳用例:
- 医疗保健机构必须遵守 HIPAA 等严格的法规,这些法规要求高水平的安全性及隐私性。单租户架构使医疗保健机构能够完全控制其资源,并根据患者和员工的需求实施特定的安全措施。
- 金融组织必须遵守 PCI DSS 等严格的法规,因此,单租户架构是一个理想的解决方案。
- 政府组织必须遵守 FISMA 等严格的法规,这同样需要高水平的安全性和合规性。
- 研究机构通常对其资源有高水平的定制和性能要求。
- 电子商务组织是单租户架构的另一个用例。他们可以根据不断变化的客户需求,扩大或缩小其资源。
多租户架构
来源: aws.amazon.com
对于那些更看重成本节约、可扩展性和协作,而不是高安全性和定制需求的组织来说,多租户架构通常是最佳选择。
- 多个客户在云端共享相同的资源,这意味着资源并非专用于任何特定客户,而是在所有客户之间共享。
- 由于共享资源的特性,多租户架构通常比单租户架构更经济。
- 可定制的程度有限,这对于需要高度定制资源的客户来说可能是一个缺点。
以下是在 AWS 云中构建端到端多租户架构的示例:
- 创建 VPC,隔离各个租户的资源。每个租户都有自己的 VPC,从而提供网络隔离和安全性。
- 使用 IAM 管理每个租户对资源的访问。IAM 定义策略,以及每个租户可以访问的资源。每个租户可以有不同的策略。
- 使用 ELB 在应用程序的多个实例之间分配流量。控制哪些流量流向哪个租户。
- 使用 RDS 为每个租户提供托管数据库服务。为每个租户创建单独的数据库实例,具有单独的数据库权限和数据内容。可以使用相同的数据库集群,为租户提供隔离和安全感。
- 使用 Amazon S3 存储图像、视频和文档等静态资源。可以控制租户对存储桶的访问。可以在多个帐户之间共享存储桶,或根据需要将其分离。
- 使用 CloudFront 将静态资产分发给用户。为每个租户创建单独的发行版,从而提供隔离和安全性。
云应用程序示例
以下是一些多租户云应用程序的实际示例:
- Salesforce 是一个基于云的客户关系管理 (CRM) 平台,它允许多个组织使用相同的基础设施,同时保持数据的独立和安全。
- Dropbox 是一种基于云的文件存储和共享服务,允许多个用户协作处理同一个文件。
- Microsoft Office 365 是一款基于云的生产力套件,允许多个用户协作处理相同的文档、电子表格和演示文稿。
- Google Workspace 是另一款基于云的生产力套件,类似于 Microsoft 的套件。
- AWS 是一个基于云的基础设施平台,允许多个组织使用相同的基础设施,同时保持数据的独立和安全。
多租户架构的优点
多租户云架构具有以下几个突出的优点:
- 这种架构通常比单租户架构更便宜,因为多个客户可以共享资源。
- 它具有更高的可扩展性。当客户共享资源时,可以根据客户不断变化的需求来扩大或缩小资源,并且能够同时对所有客户进行扩展。
- 这种架构需要的维护更少,云提供商负责维护资源,而这些资源对所有租户都是相同的,所以只需进行一次维护。
- 由于客户共享相同的资源,所以可以在客户之间进行更好的协作。客户可以协同处理项目,更有效地共享数据。
- 这种架构促进了标准化。云提供商可以实施标准化的流程和程序,并将其同时应用于所有租户。
然而,如果组织需要高水平的安全性、合规性或定制化,那么多租户架构可能不是最佳选择。共享资源在一定程度上限制了这些方面的需求。
多租户架构的实际用例
以下是多租户架构的一些最佳用例:
- 中小型企业 (SMB) 的预算和资源通常有限,因此多租户架构是一个吸引人的选择。
- 软件即服务 (SaaS) 提供商使用多租户架构来向多个客户提供服务。
- 社交媒体平台需要高水平的可扩展性和协作性。多租户架构使社交媒体平台能够根据用户不断变化的需求来扩大或缩小资源。
- 教育机构通常需要为其 IT 基础设施提供经济高效的解决方案。多租户架构使教育机构能够与其他机构分担资源成本,从而实现成本节约。
- 公共云提供商使用多租户架构来向多个客户提供服务。
AWS 云适合什么地方?
来源: 产品研讨会.aws
正如上面提到的,您可以使用 AWS 来搭建单租户和多租户架构。
您可以为单个客户或组织创建专用的基础设施。例如,AWS 提供了 EC2 专用主机,它为单个客户提供了专用的物理服务器。这使得客户能够完全控制底层的硬件。
AWS 还提供了虚拟私有云 (VPC),允许客户在 AWS 云中创建隔离的虚拟网络。
但 AWS 也提供了一系列可用于创建共享基础设施的服务。例如,AWS 提供 EC2 实例(非专用),它提供了可以由多个客户共享的虚拟服务器。这样,您就可以共享相同的底层硬件和基础设施,同时保持自己的隐私和安全。
或者,您可以使用像 Amazon S3 这样的服务,它允许您在多个客户之间共享相同的存储。客户可以在共享环境中存储和检索数据。
当涉及到 AWS 中的 RDS 数据库时,您可以选择以多种方式进行设置。您可以为每个租户创建单独的数据库实例,也可以为单个租户创建专用的数据库集群和实例。
最后,您可以使用 RDS 为多个租户创建共享的数据库服务。这种数据库实例可以支持多个租户,但最终会限制其定制或性能水平。
这意味着,决定您采用单租户还是多租户架构的,并不是平台本身,而更多的是关于如何配置和设置平台。
最后的话
单租户和多租户架构之间的选择取决于客户的具体需求。单租户架构通常更受那些需要高水平安全性、合规性和定制化的组织青睐。而多租户架构则更受那些优先考虑成本节约和可扩展性的组织欢迎。
像 AWS 这样的云平台为您提供了随着时间的推移改变想法的可能性。您还可以使用它们创建一个混合环境,其中每个案例都有其合适的位置,并且可以很好地协同工作。
接下来,请查看关于云计算中多租户的解释。