多租户:定义、重要性和应用
在云端工作时,最重要的考虑因素之一是为公司和客户数据使用哪种架构。这是因为选择经济高效的设计对于开发经济的 SaaS 服务至关重要。
多租户对云计算意味着什么?
云公司将多租户作为共享计算机资源的系统。这种共享资源的使用不应与虚拟化混淆,虚拟化也是一个相关的概念。在多租户环境中,多个客户参与相同的操作,该操作运行在相同的操作系统、硬件和存储系统上。与多租户不同,虚拟化下的每个程序都在其具有操作系统的虚拟机上运行。
定义
在云计算中,多租户是指云供应商的多个客户共享相同的计算机资源。尽管共享资源,云客户彼此之间并不知情,并且他们的数据保持完全隔离。没有多租户,云计算将远不实用。许多公共云计算形式,包括 IaaS、PaaS、SaaS、容器和无服务器计算,都使用多租户架构。
考虑一下银行的运作方式来理解多租户。多个人可以在同一家银行存钱,即使他们的钱存放在同一个区域,他们的资金也是完全独立的。银行的客户之间不会互动,无法访问彼此的资产,实际上也彼此不知情。对于公共云计算,云供应商的客户使用相同的结构——通常是相同的服务器——同时保持其数据和业务逻辑的隔离和安全。
多租户的传统概念是单个软件实例支持多个用户或租户。在当今的云计算中,这个术语具有更广泛的含义,指的是共享云基础架构,而不仅仅是共享软件实例。
单租户与多租户
单租户云架构仅为一个客户提供服务,使用单个软件实例及其配套的基础架构/数据库。在单租户环境中,所有客户数据和关系都与其他客户的数据和关系保持隔离。客户数据不会存储在同一个数据库中,也不会进行数据交换。单租户云中的每个客户都独自居住在一个独立的“公寓”式结构中,其安全系统和服务完全与相邻的结构隔离开。
多租户架构使用单个软件实例和数据库为多个消费者(即租户)提供服务。在多租户云架构中,租户居住在同一公寓楼内的独立“公寓”中。他们都通过相同的安全系统和社区服务连接起来。每个租户都有他们公寓的钥匙;他们的隐私在他们的公寓内得到保护。其他租户的行为更有可能影响他们在房产中的舒适度。
多租户的重要性
多租户是一个重要的概念,因为它使我们能够充分利用公共云环境。反过来,云环境包含每个人的数据、客户、供应商、合作伙伴和全球资源。因此,多租户以低成本为每个人提供高质量、一致的云访问。这是一种很好的方法,可以创造公平的竞争环境,让小型企业能够与大型企业竞争。
云主机提供新的功能、特性、创新和更广泛的客户群优势。很多时候,多租户环境中许多客户的需求推动了新特性的创建。然而,最终整个行业都会受益。
多租户的应用
多租户应用程序是一个共享资源,允许“不同租户的用户”使用该应用程序,就好像它是他们自己的应用程序一样。一个适合多租户操作的常见方案是,来自多个租户的所有应用程序用户可能希望个性化用户体验,但具有相同的基本业务需求。
从应用程序提供商的角度来看,多租户的优势主要与功能性和成本降低有关。一个应用程序的单个实例可以满足多个租户的需求,从而可以整合系统管理任务,例如监控、性能调整、软件维护和数据备份。
当多租户应用程序有效构建时,用户将获得以下优势。
单个租户的活动不会影响其他租户对应用程序的使用。租户无法访问彼此的数据。租户认为他们对应用程序拥有独家访问权。
各个租户希望应用程序始终可用,可能在 SLA 中有所保证。同样,其他租户的活动不应影响应用程序的可用性。
应用程序可按需进行伸缩以满足各个租户的需求。其他租户的存在和行为不应影响应用程序的性能。
由于多租户允许资源共享,因此成本低于运行专用的单租户应用程序。
单个租户可以以多种方式修改应用程序,例如添加或删除功能、更改颜色和徽标,甚至插入自己的代码或脚本。
不同的多租户应用程序包括 Docker、Kubernetes、Microsoft Office 365、Netflix、Salesforce、WordPress、Zendesk、Zoho、Outlook.com 和 visualstudio.com。
结论
多租户使得同一应用程序的多个实例可以在共享环境中运行。这降低了公司在开发完善的 SaaS 业务模型方面的整体成本。
多租户架构允许 SaaS 提供商轻松地应用更新。更新只需要在整个软件操作流程得到简化之后进行一次。云计算使多租户能够通过在多个客户之间分配硬件和软件组件来最大限度地提高资源利用率。这两种技术目前正通过多租户方法引入,并在工业应用中得到广泛使用。多租户是云计算的关键安全和隐私特性。