多租戶管理技術,是云平臺使能技術之一,通過虛擬化、數(shù)據(jù)庫隔離、容器等技術實現(xiàn)不同租戶應用和服務的隔離,保護其隱私與安全。
一
多租戶技術概念
多租戶技術(multi-tenancy technology)或稱多重租賃技術,是一種軟件架構(gòu)技術,它是在探討與實現(xiàn)如何于多用戶的環(huán)境下共用相同的系統(tǒng)或程序組件,并且仍可確保各用戶間數(shù)據(jù)的隔離性。
在多租戶技術中,租戶(Tenant)是指使用系統(tǒng)或計算資源的用戶,包含在系統(tǒng)中可識別為指定用戶的一切數(shù)據(jù),比如在系統(tǒng)中創(chuàng)建的賬戶與統(tǒng)計信息(Accounting Data),以及在系統(tǒng)中設置的各式數(shù)據(jù)和用戶所設置的客戶化應用程序環(huán)境等,都屬于租戶的范圍。
多租戶的資源是按照服務請求,動態(tài)創(chuàng)建的。租戶租借計算資源,是和服務提供商簽訂的服務協(xié)定,有一定的時間限制(租戶可以任何時候,任何地點來申請或取消對計算資源的使用)。服務提供商必須按照協(xié)定動態(tài)地進行部署,滿足租戶的需求。
租戶間共享資源越多,基礎資源的利用率越高,單位資源成本越低,租戶間隔離性越差。

二
多租戶技術
技術上,多租戶技術可以通過許多不同的方式來切割用戶的應用程序環(huán)境或數(shù)據(jù)。
數(shù)據(jù)面(data approach):供應商可以利用切割數(shù)據(jù)庫(database),切割存儲區(qū)(storage),切割結(jié)構(gòu)描述(schema)或是表格(table)來隔離租戶的數(shù)據(jù),必要時會需要進行對稱或非對稱加密以保護敏感數(shù)據(jù),但不同的隔離作法有不同的實現(xiàn)復雜度與風險。
程序面(application approach):供應商可以利用應用程序掛載(hosting)環(huán)境,于進程(process)上切割不同租戶的應用程序運行環(huán)境,在無法跨越進程通信的情況下,保護各租戶的應用程序運行環(huán)境,但供應商的運算環(huán)境要夠強。
系統(tǒng)面(system approach):供應商可以利用虛擬化技術,將實體運算單元切割成不同的虛擬機,各租戶可以使用其中一至數(shù)臺的虛擬機來作為應用程序與數(shù)據(jù)的保存環(huán)境,但對供應商的運算能力要更要求。
三
多租戶技術實現(xiàn)方式
多租戶技術的實現(xiàn)重點,在于不同租戶間應用程序環(huán)境的隔離(application context isolation)以及數(shù)據(jù)的隔離(data isolation),以維持不同租戶間應用程序不會相互干擾,同時數(shù)據(jù)的保密性也夠強。
1、應用程序部份:通過進程或是支持多應用程序同時運行的裝載環(huán)境(例如Web Server,像是Apache或IIS等)來做進程間的隔離,或是在同一個伺服程序(server)進程內(nèi)以運行緒的方式隔離。
2、數(shù)據(jù)部份:通過不同的機制將不同租戶的數(shù)據(jù)隔離,F(xiàn)orce是采用中介數(shù)據(jù)(metadata)的技術來切割,微軟 MSDN 的技術文件則是展示了使用結(jié)構(gòu)描述的方式隔離。
四
多租戶中的關鍵網(wǎng)絡技術
1、虛擬交換機技術
虛擬交換機技術就是解決不同虛擬機之間相互通訊的一種交換機系統(tǒng)。它不同于普通的物理交換機,是一種軟件模塊,位于虛擬機和服務器的網(wǎng)卡之間,將不同的虛擬服務器虛擬網(wǎng)絡接口和服務器的物理網(wǎng)卡接口連接起來,按照不同的轉(zhuǎn)發(fā)邏輯形成的一種軟件轉(zhuǎn)發(fā)的交換機系統(tǒng)。
2、分布式租戶跨越互聯(lián)網(wǎng)技術
在云服務提供商或私有云的環(huán)境中,租戶的數(shù)目非常多,每個租戶的網(wǎng)絡又必須嚴格隔離。所以常用的4k的 VALN數(shù)目不能滿足需求。nvGRE草案提出了Tenant-ID,用于標識租戶的網(wǎng)絡,Tenant-ID有24位,最多可以支持1600萬的租戶??梢詽M足大型數(shù)據(jù)中心租戶的要求。
解決了租戶的虛擬機之間通訊需要跨越互聯(lián)網(wǎng)的問題。當租戶的虛擬機需要遷移或者租戶的網(wǎng)絡中虛擬機之間需要相互通訊時應用該協(xié)議,使用GRE隧道承載租戶二層網(wǎng)絡,這種承載網(wǎng)絡技術又叫做Overlay網(wǎng)絡。
五
多租戶技術三種方案對比
方案1:獨立數(shù)據(jù)庫
這是第一種方案,即一個租戶一個數(shù)據(jù)庫,這種方案的用戶數(shù)據(jù)隔離級別最高,安全性最好,但成本也高。
優(yōu)點:
為不同的租戶提供獨立的數(shù)據(jù)庫,有助于簡化數(shù)據(jù)模型的擴展設計,滿足不同租戶的獨特需求;如果出現(xiàn)故障,恢復數(shù)據(jù)比較簡單。
缺點:
增大了數(shù)據(jù)庫的安裝數(shù)量,隨之帶來維護成本和購置成本的增加。這種方案與傳統(tǒng)的一個客戶、一套數(shù)據(jù)、一套部署類似,差別只在于軟件統(tǒng)一部署在運營商那里。如果面對的是需要非常高數(shù)據(jù)隔離級別的租戶,可以選擇這種模式,提高租用的定價。
方案2:共享數(shù)據(jù)庫,隔離數(shù)據(jù)架構(gòu)
第二種方案,即多個或所有租戶共享 Database,但是每個租戶一個 Schema。
優(yōu)點:
為安全性要求較高的租戶提供了一定程度的邏輯數(shù)據(jù)隔離,并不是完全隔離;每個數(shù)據(jù)庫可以支持更多的租戶數(shù)量。
缺點:
如果出現(xiàn)故障,數(shù)據(jù)恢復比較困難,因為恢復數(shù)據(jù)庫將牽扯到其他租戶的數(shù)據(jù); 如果需要跨租戶統(tǒng)計數(shù)據(jù),存在一定困難。
方案3:共享數(shù)據(jù)庫,共享數(shù)據(jù)架構(gòu)
這是第三種方案,即租戶共享同一個Database、同一個 Schema,但在表中通過 T-ID 區(qū)分租戶的數(shù)據(jù)。這是共享程度最高、隔離級別最低的模式。
優(yōu)點:
三種方案比較,第三種方案的維護和購置成本最低,允許每個數(shù)據(jù)庫支持的租戶數(shù)量最多。
缺點:
隔離級別最低,安全性最低,需要在設計開發(fā)時加大對安全的開發(fā)量; 數(shù)據(jù)備份和恢復最困難,需要逐表逐條備份和還原。
如果希望以最少的服務器為最多的租戶提供服務,并且租戶接受以犧牲隔離級別換取降低成本,這種方案最適合。
-
數(shù)據(jù)庫
+關注
關注
7文章
3985瀏覽量
67554 -
工業(yè)互聯(lián)網(wǎng)
關注
28文章
4377瀏覽量
95866
原文標題:工業(yè)互聯(lián)網(wǎng)平臺核心技術之五:多租戶技術
文章出處:【微信號:IndustryIOT,微信公眾號:工業(yè)互聯(lián)網(wǎng)前線】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄

工業(yè)互聯(lián)網(wǎng)平臺核心技術:多租戶技術概念
評論