云计算中的多租户

2025年3月17日 | 阅读 7 分钟

多租户是一种软件架构,其中单个软件实例可以服务于多个不同的用户组。这意味着云供应商的多个客户正在使用相同的计算资源。虽然他们共享相同的计算资源,但每个云客户的数据都保持独立和安全。它是云计算中一个非常重要的概念。

在云计算中,多租户也意味着一个共享主机,其中相同的资源被分配给不同的客户。

Multitenancy in Cloud computing

例如

多租户的例子就像银行的运作方式。多个人可以将钱存入同一家银行。但每个客户的资产都是不同的。一个客户无法访问另一个客户的钱和账户,不同的客户也不知道彼此的账户余额和详细信息等。

多租户的优势

  • 通过共享资源,可用资源的利用率得到最大化。
  • 客户的物理硬件系统成本降低,并且减少了物理设备的使用,从而节省了电力消耗和冷却成本。
  • 节省供应商成本,因为云供应商很难为每个个体提供独立的物理服务。

多租户的缺点

  • 数据存储在第三方服务中,这降低了我们的数据安全性,并使其处于脆弱状态。
  • 未经授权的访问将对数据造成损害。

在云基础设施中,每个租户的数据不能被所有其他租户访问,并且只能在获得云提供商的许可后才能访问。

在私有云中,客户或租户可以是同一公司内的不同个人或群体。在公共云中,完全不同的组织可以安全地共享其服务器空间。大多数公共云提供商都使用多租户模型,该模型允许他们使用单个实例运行服务器,这更具成本效益并有助于简化更新。

Multitenancy in Cloud computing

多租户云与单租户云

在单租户云中,服务器只托管一个客户端并向其提供访问权限。由于多租户架构在同一服务器上托管多个客户端,因此充分了解提供商的安全性和性能非常重要。单租户云使客户能够更好地控制数据、存储、安全和性能的管理。

Multitenancy in Cloud computing

多租户架构的好处

多租户具有一系列优势,这在云计算的普及中显而易见。

多租户可以省钱。计算资源的扩展成本低廉,而多租户允许资源进行连贯而高效的分配,最终节省运营成本。对于个人用户来说,支付云服务或 SaaS 应用程序的访问费用通常比运行单租户硬件和软件更具成本效益。

实现多租户灵活性。如果您投资了自己的硬件和软件,它可能会在高需求时期达到容量极限,或者在低需求时期处于闲置状态。另一方面,多租户云可以根据用户需求的变化,将资源池分配给需要它的用户。作为公共云提供商的客户,您可以在需要时访问额外的容量,而在不需要时则不必为此付费。

多租户可以更有效率。多租户减少了个人用户管理基础设施以及处理更新和维护的需要。个人租户可以依靠中央云提供商而不是自己的团队来处理这些常规任务。

多租户示例

多租户云可以与公寓楼的结构进行比较。每位居民都可以根据整个建筑协议进入自己的公寓,并且只有授权人员才能进入特定单元。然而,整个建筑共享水、电和公共区域等资源。

它与多租户云相似,提供商为客户设定了广泛的配额、规则和性能期望,但每个客户都可以私密访问其信息。

多租户可以描述一种硬件或软件架构,其中来自不同企业的多个系统、应用程序或数据托管在相同的物理硬件上。它与单租户不同,单租户是指服务器运行一个操作系统的实例和应用程序。在云世界中,多租户云架构使客户(“租户”)能够共享公共云或私有云中的计算资源。

多租户是专用、云交付服务的常见功能,因为它允许客户高效地共享资源,同时安全地扩展以满足日益增长的需求。即使它们共享资源,云客户也不知道彼此的存在,并且他们的数据也保持隔离。

多租户对云意味着什么?

云提供商提供多租户作为共享计算资源使用的一种方式。然而,这种共享资源的使用不应与虚拟化(一个密切相关的概念)混淆。在多租户环境中,多个客户端共享相同的应用程序、相同的操作系统环境、相同的硬件以及相同的存储系统。在虚拟化中,与多租户不同,每个应用程序都在一个具有自己操作系统的独立虚拟机上运行。

每位居民都可以授权访问自己的公寓,但所有居民共享水、电和公共区域。同样,在多租户云中,提供商设定了广泛的条款和性能期望,但单个客户可以私密访问自己的信息。

云服务的多租户设计可以极大地影响应用程序和服务的交付。它实现了前所未有的可靠性、可用性和可伸缩性,同时为 IT 组织带来了成本节省、灵活性和安全性。

多租户、安全和 Zscaler

多租户架构的主要优势在于组织可以轻松地让用户入职。使用多租户云,让一个公司的 10,000 名用户入职与让一千家公司的 10 名用户入职没有区别。这种类型的平台可以轻松扩展以处理日益增长的需求,而其他架构则不容易。

从安全角度来看,多租户架构允许在整个云中全局实施策略。这就是为什么 Zscaler 用户可以随处走动,因为他们知道自己的流量将被路由到最近的 Zscaler 数据中心(全球 150 个之一),并且他们的策略会得到遵守。由于这种能力,拥有 1000 名用户的组织现在可以获得与拥有数万或数十万员工的更大组织相同的安全保护。

云原生 SASE 架构几乎总是多租户的,多个客户共享底层数据平面。

网络安全的未来在于云。

企业网络现在已经超越了传统的“安全边界”转向了互联网。为用户提供充分安全性的唯一方法——无论他们从何处连接——就是将安全和访问控制转移到云端。

Zscaler利用多租户来扩展以满足日益增长的需求和流量高峰,而不会影响性能。可伸缩性使我们能够轻松扫描进出所有端口和协议(包括 SSL)的每一字节数据——而不会对用户体验产生负面影响。多租户的另一个优势是,一旦在 Zscaler 云中检测到威胁,我们就可以立即保护所有客户免受该威胁的侵害。

Zscaler 云始终更新最新的安全更新,以保护客户免受快速发展的恶意软件的侵害。每天都有数千个新的网络钓鱼网站出现,设备无法应对。Zscaler 降低了成本,并消除了修补、更新和维护硬件和软件的复杂性。

Linux 中的多租户环境

任何设置多租户环境的人都将面临使用虚拟机 (VM) 或容器隔离环境的选项。

使用虚拟机时,虚拟机监控程序会启动客户机,每个客户机都有自己的操作系统、应用程序和依赖项。虚拟机监控程序还确保用户之间相互隔离。

与虚拟机相比,容器提供了更轻量级、更灵活、更易于扩展的模型。容器通过在单个主机上部署多个应用程序,利用内核和容器运行时来启动每个容器,从而简化了多租户部署。与包含自身内核的虚拟机不同,容器中运行的应用程序即使跨多个租户,也共享一个内核。

在 Linux 中,命名空间使得多个容器可以同时使用同一资源而不发生冲突。保护容器与保护任何正在运行的进程相同。

当使用 Kubernetes 进行容器编排时,可以使用单个 Kubernetes 集群来设置多租户环境。可以将租户隔离到自己的命名空间中,并创建强制执行租户隔离的策略。

多租户数据库

在为多租户应用程序选择数据库时,开发人员必须在客户对数据隔离的需求或愿望与应对应用程序流量增长或高峰的快速经济的解决方案之间取得平衡。

为了确保完全隔离,开发人员可以为每个租户分配一个独立的数据库实例;另一方面,为了确保最大程度的可伸缩性,开发人员可以让所有租户共享同一个数据库实例。但是,大多数开发人员选择使用 PostgreSQL 等数据存储,它允许每个租户在单个数据库实例中拥有自己的模式(有时称为“软隔离”),并兼具两者的优点。

“混合”安全解决方案怎么样?

随着组织迁移到 Microsoft Azure 和 Amazon Web Services (AWS) 等基础设施服务,他们越来越多地使用 Salesforce、Box 和 Office 365 等云应用程序。因此,许多企业认识到在云中保护流量更有意义。

作为回应,依赖于定期硬件设备销售的旧供应商推广了所谓的“混合解决方案”。在这种情况下,数据中心安全由设备控制,而移动或分支机构安全类似于托管在云环境中的设备。堆栈负责安全。

这种混合策略使企业安全更加复杂,而不是更简单,因为云用户和管理员无法获得真正的云服务——速度、规模、全球可见性和威胁情报——的任何好处,而这些只有多租户的全球架构才能提供。


下一个主题网格计算