多租户技术:如何切割用户的应用程序环境或数据

艾格尼克斯 2024-01-03 17:05:33

1.多租户定义

多租户技术(multi-tenancytechnology)或称多重租赁技术,是一种软件架构技术,它是探讨和实现如何在多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。

由于云计算议题的持续,在共用的数据中心内如何以单一系统架构与服务提供多数客户端相同甚至可定制化的服务,并且仍然可以保障客户的数据隔离,让多租户技术成为云计算技术下的显学。

2.发展历史

多租户技术源于 20世纪60年代,许多公司为了能够使用更多的运算资源,向持有大型主机(Mainframe)的供应商租用,而这些用户经常会用到相同的应用程序,当时会以用户在登录系统时输入的数据来决定用户的账户ID。基于这个ID,Mainframe的供应商即可计算运算的资源使用量,包含CPU、存储器、软盘或磁带等的使用量,这个方法也被 SAP 公司用在其R/1~R/3 的产品线。

到了20世纪 90年代,应用程序服务提供者(Application Service Provider )模式出现,它的运作模式与租用大型主机时的相同。不过租用的资源是在软件上,除了操作系统以外还包含其上的应用程序,如ERP系统或是CRM等应用,系统可能会运行在数台不同的机器上,或是在相同的主机上共享不同的数据库,以区分并计算客户的资源使用量,并作为计费的标准,而此技术也有效地缩减了供应商的实体机器成本(因为可以在一台计算机上同时运行多个用户所租用的应用程序进程)。到了现代,受欢迎的消费者导向Web应用程序(如Hotmail 或Gmail等)也是以单一应用程序平台来支持所有用户的,这是多租户技术自然演化的结果。多租户技术也可以让客户中的一部分用户得以进一步定制他们的应用程序。

在虚拟化(Virtualization)技术的成熟与应用性的扩张之下,多租户技术可以驾驭虚拟化的平台,更可以强化用户应用程序与数据之间的隔离,让多租户技术更加发挥它的特色。

3.多租户技术

在多租户技术中,租户(Tenant)是指使用系统或计算机运算资源的客户。租户包含系统中可识别为指定用户的一切数据,如账户与统计信息(Accounting Data)、用户在系统中创建及设置的各式数据,以及用户本身的定制化应用程序环境等,都属于租户的.范围。而租户所使用的则是基于供应商所开发,创建及设置的应用系统或运算资源等。供应商所设计的应用系统会容纳多个用户在同一个环境下使用。为了能使多个用户的环

境能在同一个应用程序与运算环境中使用,应用程序与运算环境必须要特别设计,除了系统平台允许多份相同的应用程序同时运行外,保护租户数据的隐私与安全也是多租户技术的关键之一。

技术上,多租户技术可以通过许多不同的方式来切割用户的应用程序环境或数据。

(1)数据面(Data Approach )

供应商可以利用切割数据库(Database)、切割存储区(Storage)、切割结构描述(Schema)或是表格(Table)来隔离租户的数据,必要时需要进行对称或非对称加密以保护敏感数据,但不同的隔离方法有不同的实现复杂度与风险。

(2)程序面(Application Approach )

供应商可以利用应用程序挂载(Hosting)环境,在进程( Process)上切割不同租户应用程序的运行环境,在无法跨越进程通信的情况下保护各租户应用程序的运行环境,但供应商的运算环境要足够强。

(3)系统面(System Approach )

供应商可以利用虚拟化技术将实体运算单元切割成不同的虚拟机,各租户可以使用其中的一台或数台虚拟机来作为应用程序与数据的保存环境,但对供应商的运算能力要求很高。

0 阅读:9

艾格尼克斯

简介:好好学习,天天向上