無論IT組織是打算實(shí)施公有云還是私有云,重要的是要理解多租戶共享架構(gòu)的各種細(xì)微差別。如果要實(shí)施公有云,IT經(jīng)理們就需要了解他們正在尋找的廠商能支持多租戶架構(gòu)到何種程度。如果想實(shí)施私有云,那么設(shè)計(jì)多租戶架構(gòu)的全部職責(zé)就在于企業(yè)的IT經(jīng)理自己。
企業(yè)對云計(jì)算的采納已經(jīng)超越了追求知識和偶爾實(shí)驗(yàn)的階段。IDC的一份分析報告指出,2009年全球3590億美元的IT支出中有170億美元出自云計(jì)算投資。《Baseline》雜志對企業(yè)所做的調(diào)查也表明,有三分之二的企業(yè)計(jì)劃擴(kuò)展對于公有云的使用。
但這并不等于說就不存在什么惱人的問題了,這些問題包括但不限于如何讓不同企業(yè)的工作負(fù)載與不同類型的云相匹配,以及規(guī)劃和實(shí)施必要的云遷移必須具備的負(fù)責(zé)任的方法等等。
根據(jù)工作負(fù)載的特征,對于云的采用將會在公有云和私有云之間來回?fù)u擺。大型企業(yè)一般會有要求,為了工作負(fù)載而在兩種云之間達(dá)成一種平衡。而中小企業(yè)(SMB)和新辦企業(yè)的情況則不同,它們或許會較強(qiáng)烈地希望將所有的工作負(fù)載都交給公有云去做。但是到了最后,它們彼此之間的這種不同偏好可能多半都會與企業(yè)規(guī)模無關(guān),而主要和企業(yè)的IT工作負(fù)載的性質(zhì)有關(guān)。
除了適當(dāng)?shù)墓ぷ髫?fù)載分配,體系架構(gòu)的考慮也是關(guān)鍵。多租戶架構(gòu)就是這樣一種架構(gòu)考慮,而了解多租戶是更為廣泛地采用云計(jì)算的關(guān)鍵性的第一步。
在公有云中,我們能看到一些早期用戶——多個企業(yè)最后成了云中的共同租戶,但是“多租戶”卻被錯誤地當(dāng)成了“多企業(yè)”的同義詞。其實(shí)這兩者是兩個完全不同的概念。而且,租戶的粒度是建立在應(yīng)用層面上,而非建立在個別用戶或者整個企業(yè)層面上的。
多租戶的定義
一個租戶可以是任何一個應(yīng)用——或者是企業(yè)內(nèi)部應(yīng)用,或外部應(yīng)用,它需要有自己的安全的和排他的虛擬計(jì)算環(huán)境。該環(huán)境包含了從存儲到用戶界面的所有或者某些選定的企業(yè)架構(gòu)層。所有交互式應(yīng)用(或租戶)必然地具有多用戶的性質(zhì)。
圖注:這張圖將典型的企業(yè)IT工作負(fù)載按照“策略性vs戰(zhàn)略性”軸向分誒排列,表明它們相對來說可以為了不同類型的組織跨公有云和私有云進(jìn)行分配。
一個在企業(yè)私有云中處理敏感的財務(wù)數(shù)據(jù)的部門級應(yīng)用其實(shí)和一個在公有云中發(fā)布產(chǎn)品目錄的全球營銷應(yīng)用一樣,都可被視為一個“租戶”。兩者有相同的租約要求,這一點(diǎn)與一個是內(nèi)部租戶,另一個是外部租戶完全無關(guān)。
多租戶是公有云和私有云的一個重要的共通屬性,它可適用于云的所有三層架構(gòu):基礎(chǔ)設(shè)施作為服務(wù)(IaaS)、平臺作為服務(wù)(PaaS)和軟件作為服務(wù)(SaaS)。
大多數(shù)人在談到云時指的只是IaaS層。既便如此,從體系架構(gòu)上講,公有和私有的IaaS都不再只有一些策略性功能(如虛擬化),而是向著實(shí)現(xiàn)IT作為服務(wù)(ITaaS)的理念發(fā)展。IaaS同時還具備利用服務(wù)等級協(xié)議(SLA)的改進(jìn)的計(jì)費(fèi)方法、用于安全訪問的身份管理技術(shù)、容錯能力、災(zāi)難恢復(fù)、動態(tài)采購和其他一些關(guān)鍵特性。
通過將這些共享服務(wù)納入基礎(chǔ)設(shè)施層,所有的云都會自動地變成某種程度上的多租戶云。不過多租戶已經(jīng)超出了IaaS層,還包含PaaS層(應(yīng)用服務(wù)器、Java虛擬機(jī)等等),最終直達(dá)SaaS或應(yīng)用層(數(shù)據(jù)庫、業(yè)務(wù)邏輯、工作流和用戶界面等)。只有到了那個時候,租戶才能享受到云所提供的全方位普遍服務(wù)——從硬件層開始一直到用戶界面層,這要視云所提供的是何種級別的多租戶而定。
多租戶的級別
多租戶的準(zhǔn)確分級,按照其通常的定義,主要的依據(jù)是,有多少個核心應(yīng)用或SaaS亞層可以跨租戶共享。最高級別的多租戶允許共享數(shù)據(jù)庫架構(gòu),支持業(yè)務(wù)邏輯、工作流和用戶界面層的定制。換句話說,SaaS的所有亞層都提供這種級別的多租戶架構(gòu)。
圖注:在如圖所示的云的三層架構(gòu)中,IaaS和PaaS在任何云中都將是多租戶的。但是在應(yīng)用層(SaaS)中,對應(yīng)于不同類型的應(yīng)用將會提供不同級別的多租戶架構(gòu)。
而在最低級別上,多租戶僅限于IaaS和PaaS層,每個租戶有專門的SaaS層。
中級的多租戶是共享數(shù)據(jù)庫架構(gòu)和其他應(yīng)用層的同質(zhì)租戶的集群。在中級模式中,每個用戶集群都有自己的數(shù)據(jù)庫架構(gòu)版本和應(yīng)用。
我們可以將多租戶的分級制歸納如下:
以Salesforce.com為例,在相對較高的多租戶層級上,72500個客戶是由8到12個多租戶實(shí)例以1:5000的比率予以支持的。換句話說,每個多租戶實(shí)例支持5000個租戶,這些租戶共享同一個數(shù)據(jù)庫架構(gòu)。而一個處在中級別多租戶架構(gòu)中的財務(wù)系統(tǒng)SaaS提供商,則有2500個客戶,以1:250的比率共享著10個實(shí)例。
而私有云,例如SAP的Business By Design就是在最低級別的多租戶架構(gòu)中,其應(yīng)用層是專門為特定的大企業(yè)客戶提供的。
如何選擇多租戶級別
在選擇不同級別的多租戶時,并沒有一把普遍適用的尺子。首先必須認(rèn)真研究工作負(fù)載的特點(diǎn),包括工作負(fù)載的實(shí)用性與戰(zhàn)略價值、活躍度和安全性等等。較高級別的多租戶架構(gòu)最適合于跨行業(yè)的實(shí)用工作負(fù)載,例如目錄管理和銷售團(tuán)隊(duì)管理。
這些應(yīng)用可以很輕松地共享同一個數(shù)據(jù)庫架構(gòu),同時也能因廠商或者一個合作共享的服務(wù)團(tuán)隊(duì)所開發(fā)的最好功能的迅速進(jìn)展而受益。這些應(yīng)用還會傾向于更簡單的安全需求,例如加密和認(rèn)證。這就是為什么公有云對于一些很成熟的工作負(fù)載,如e-mail、協(xié)作、場景軟件(支出報表、差旅認(rèn)證)和預(yù)生產(chǎn)行為(開發(fā)、用戶培訓(xùn)和功能/接受測試)等是一種很有吸引力的多租戶平臺。
圖注:有很多成熟的和新興的廠商都在提供整體的云環(huán)境,并可為企業(yè)的IT部門提供開發(fā)工具以便開發(fā)他們自己的私有云。
對于每一種此類應(yīng)用而言,IT經(jīng)理們要決定究竟需要哪種級別的多租戶租約,并由此選擇相應(yīng)的服務(wù)提供商。
但是對于針對私有云和社區(qū)云(例如企業(yè)財團(tuán))的工作負(fù)載來說,設(shè)計(jì)多租戶架構(gòu)的責(zé)任就落在了企業(yè)IT經(jīng)理的身上。對于這些工作負(fù)載來說,已經(jīng)有了一大堆來自著名廠商和新興企業(yè)的迅速成熟的技術(shù)。IT經(jīng)理必須對這些廠商作出評估,構(gòu)建自己的定制IaaS、PaaS和SaaS層,包括對構(gòu)建共享服務(wù)和共享數(shù)據(jù)庫架構(gòu)提供支持等。
多租戶是云計(jì)算的核心原則。雖然多租戶是把大型主機(jī)計(jì)算的某些概念下移到了x86服務(wù)器生態(tài)系統(tǒng)中,但是它也將這些大型主機(jī)的概念擴(kuò)充得更為復(fù)雜、更值得稱道、更具革命性,能夠支持?jǐn)?shù)以千計(jì)的企業(yè)內(nèi)部和企業(yè)間的租戶(而非多用戶)。只有當(dāng)所需的多租戶級別能夠融入公有云和私有云的所有層級中,云計(jì)算所承諾的改善的可擴(kuò)展性、靈活性和規(guī)模經(jīng)濟(jì)性才可以充分地實(shí)現(xiàn)。