多租户技术
本詞條由“科普中國”科學百科詞條編寫與應用工作項目?審核 。
多租戶技術(英語:multi-tenancy technology)或稱多重租賃技術,是一種軟件架構技術,它是在探討與實現如何于多用戶的環境下共用相同的系統或程序組件,并且仍可確保各用戶間數據的隔離性。
多租戶簡單來說是指一個單獨的實例可以為多個組織服務。多租戶技術為共用的數據中心內如何以單一系統架構與服務提供多數客戶端相同甚至可定制化的服務,并且仍然可以保障客戶的數據隔離。一個支持多租戶技術的系統需要在設計上對它的數據和配置進行虛擬分區,從而使系統的每個租戶或稱組織都能夠使用一個單獨的系統實例,并且每個租戶都可以根據自己的需求對租用的系統實例進行個性化配置。
多租戶技術可以實現多個租戶之間共享系統實例,同時又可以實現租戶的系統實例的個性化定制。通過使用多租戶技術可以保證系統共性的部分被共享,個性的部分被單獨隔離。通過在多個租戶之間的資源復用,運營管理維護資源,有效節省開發應用的成本。而且,在租戶之間共享應用程序的單個實例,可以實現當應用程序升級時,所有租戶可以同時升級。同時,因為多個租戶共享一份系統的核心代碼,因此當系統升級時,只需要升級相同的核心代碼即可。
中文名
多租戶技術
外文名
multi-tenancy technology
或????稱
多重租賃技術
屬????性
軟件架構技術
目????的
共用相同的系統或程序組件
要????求
確保各用戶間數據的隔離性
目錄
歷史
編輯
多租戶技術源于1960年代,許多公司為了要使用更多的運算資源,向持有大型主機(Mainframe)的供應商租用一部份的運算資源,而這些用戶經常會用到相同的應用程序,當時會以用戶在登錄系統時輸入的數據來決定用戶的帳戶ID,基于這個ID,Mainframe的供應商即可利用此ID來計算運算的資源使用量,包含CPU,存儲器與軟盤或磁帶等,這個作法也被SAP公司用在其R/1到R/3的產品線。
到了1990年代,應用程序服務提供者服務(application service provider)模式出現,它的作法與運作模式與租用大型主機時相同,不過租用的資源是在軟件上,除了操作系統以外也包含了其上的應用程序,例如ERP系統或是CRM等應用,系統可能會運行在數臺不同的機器上,或是在相同的主機但共享不同的數據庫,以區分并計算客戶的資源使用量,藉以作為計費的標準,而此技術也有效的縮減供應商的實體機器成本(因為可以在一臺電腦上同時運行多個用戶所租用的應用程序進程)。到了現代,受歡迎的消費者導向Web應用程序(如Hotmail或Gmail等)也是以單一應用程序平臺來支持所有的用戶,這已經是多租戶技術的自然演化的結果,多租戶技術也可以讓客戶中的一部份用戶得以進一步定制化他們的應用程序。
在虛擬化(virtualization)技術的成熟與應用性的擴張之下,多租戶技術可以駕馭虛擬化的平臺,更強化在用戶應用程序與數據之間的隔離,讓多租戶技術能更加發揮它的特色。?[1]?
概念與技術
編輯
在多租戶技術中,租戶(tenant)是指使用系統或電腦運算資源的客戶,但在多租戶技術中,租戶包含在系統中可識別為指定用戶的一切數據,包括帳戶與統計信息(accounting data)、用戶在系統中建置的各式數據、以及用戶本身的定制化應用程序環境等,都屬于租戶的范圍。租戶使用供應商開發或建置的應用系統或運算資源,供應商所設計的應用系統會容納數個以上的用戶在同一個環境下使用,為了讓多個用戶環境能夠在同一個應用程序與運算環境上使用,則應用程序與運算環境必須要特別設計,除了可以讓系統平臺允許多份相同的應用程序同時運行外,保護租戶數據的隱私與安全也是多租戶技術的關鍵之一。
技術上,多租戶技術可以通過許多不同的方式來切割用戶的應用程序環境或數據。
數據面(data approach):供應商可以利用切割數據庫(database),切割存儲區(storage),切割結構描述(schema)或是表格(table)來隔離租戶的數據,必要時會需要進行對稱或非對稱加密以保護敏感數據,但不同的隔離作法有不同的實現復雜度與風險。
程序面(application approach):供應商可以利用應用程序掛載(hosting)環境,于進程(process)上切割不同租戶的應用程序運行環境,在無法跨越進程通信的情況下,保護各租戶的應用程序運行環境,但供應商的運算環境要夠強。
系統面(system approach):供應商可以利用虛擬化技術,將實體運算單元切割成不同的虛擬機,各租戶可以使用其中一至數臺的虛擬機來作為應用程序與數據的保存環境,但對供應商的運算能力要更要求。?[2]?
實現方式
編輯
多租戶技術的實現重點,在于不同租戶間應用程序環境的隔離(application context isolation)以及數據的隔離(data isolation),以維持不同租戶間應用程序不會相互干擾,同時數據的保密性也夠強。
應用程序部份:通過進程或是支持多應用程序同時運行的裝載環境(例如Web Server,像是Apache或IIS等)來做進程間的隔離,或是在同一個伺服程序(server)進程內以運行緒的方式隔離。
數據部份:通過不同的機制將不同租戶的數據隔離,Force是采用中介數據(metadata)的技術來切割,微軟 MSDN 的技術文件則是展示了使用結構描述的方式隔離。
實現方式
多租戶就是說多個租戶共用一個實例,租戶的數據既有隔離又有共享,從而解決數據存儲的問題。從架構層面來分析,SaaS區別于傳統技術的重要差別就是Multi-Tenant模式。SaaS多租戶在數據存儲上存在三種主要的方案,分別是
1.獨立數據庫
這是第一種方案,即一個租戶一個數據庫,這種方案的用戶數據隔離級別最高,安全性最好,但成本也高。
優點:
為不同的租戶提供獨立的數據庫,有助于簡化數據模型的擴展設計,滿足不同租戶的獨特需求;
如果出現故障,恢復數據比較簡單。
缺點:
增大了數據庫的安裝數量,隨之帶來維護成本和購置成本的增加。
這種方案與傳統的一個客戶、一套數據、一套部署類似,差別只在于軟件統一部署在運營商那里。如果面對的是銀行、醫院等需要非常高數據隔離級別的租戶,可以選擇這種模式,提高租用的定價。如果定價較低,產品走低價路線,這種方案一般對運營商來說是無法承受的。
2.共享數據庫,隔離數據架構
這是第二種方案,即多個或所有租戶共享Database,但一個Tenant一個Schema。
優點:
為安全性要求較高的租戶提供了一定程度的邏輯數據隔離,并不是完全隔離;每個數據庫可以支持更多的租戶數量。
缺點:
如果出現故障,數據恢復比較困難,因為恢復數據庫將牽扯到其他租戶的數據;
如果需要跨租戶統計數據,存在一定困難。
3.共享數據庫,共享數據架構
這是第三種方案,即租戶共享同一個Database、同一個Schema,但在表中通過TenantID區分租戶的數據。這是共享程度最高、隔離級別最低的模式。
優點:
三種方案比較,第三種方案的維護和購置成本最低,允許每個數據庫支持的租戶數量最多。
缺點:
隔離級別最低,安全性最低,需要在設計開發時加大對安全的開發量;
數據備份和恢復最困難,需要逐表逐條備份和還原。
如果希望以最少的服務器為最多的租戶提供服務,并且租戶接受以犧牲隔離級別換取降低成本,這種方案最適合。
特色
編輯
多租戶技術有下列特色:
由于多租戶技術可以讓多個租戶共用一個應用程序或運算環境,且租戶大多不會使用太多運算資源的情況下,對供應商來說多租戶技術可以有效的降低環境建置的成本。包含硬件本身的成本,操作系統與相關軟件的授權成本都可以因為多租戶技術,而由多個租戶一起分擔。
通過不同的數據管理手段,多租戶技術的數據可以用不同的方式進行數據隔離,在供應商的架構設計下,數據的隔離方式也會不同,而良好的數據隔離法可以降低供應商的維護成本(包含設備與人力),而供應商可以在合理的授權范圍內取用這些數據分析,以作為改善服務的依據。
多租戶架構下所有用戶都共用相同的軟件環境,因此在軟件改版時可以只發布一次,就能在所有租戶的環境上生效。
具多租戶架構的應用軟件雖可定制,但定制難度較高,通常需要平臺層的支持與工具的支持,才可降低定制的復雜度。
實務應用
編輯
多租戶技術在實務上運用的成功且廣為人知的案例之一,是由Salesforce所建置的CRM應用系統,該公司除了Salesforce的CRM軟件以外,它還建置了Force平臺即服務(PaaS)架構,以支持開發人員發展基于Force平臺上的應用程序。
在云計算的加持之下,多租戶技術被廣為運用于開發云各式服務,不論是IaaS,PaaS還是SaaS,都可以看到多租戶技術的影子。
云計算
|
|
|
|
|
|
|
參考資料
- 1.??高蕾, 楊燕, 鐘華,等. 面向多租戶的門戶資源管理框架[J]. 計算機工程與設計, 2012, 33(8):3016-3022.
- 2.??朱久亮, 夏靜偉. 多租戶技術在企業銷售管理系統中的設計與應用[J]. 中國電子商務, 2012(3):76-77.
學術論文
內容來自?
- ?李森.????淺析基于SaaS架構的多租戶技術.?《?電子設計工程?》?,?2013
- ?
- ?莊日道.????基于云服務系統的資源多租戶技術的實現.?《?CNKI;WanFang?》?,?年
- ?
- ?琚潔慧,吳吉義,章劍林等.????SaaS應用中的多租戶與安全技術研究.?《?CNKI?》?,?年
- ?
- ?侯可佳,白曉穎,周立柱.????一種基于多約束組合的多租戶系統配置測試技術.?《?計算機學報?》?,?2016
- ?
- ?李引,袁峰,吳鴻.????基于軟件構件技術的多租戶個性化框架.?《?計算機工程與應用唯一官方網站?》?,?2015
查看全部?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: 我国人均GDP已超7万元,却还有6亿人月
- 下一篇: 第二节:如何正确使用WebApi和使用过