国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷資訊 > 電子商務(wù) > 云平臺(tái)下的多租戶架構(gòu),從SaaS應(yīng)用到PaaS平臺(tái),你應(yīng)該理解的一些關(guān)鍵點(diǎn)

云平臺(tái)下的多租戶架構(gòu),從SaaS應(yīng)用到PaaS平臺(tái),你應(yīng)該理解的一些關(guān)鍵點(diǎn)

時(shí)間:2023-03-14 10:54:01 | 來(lái)源:電子商務(wù)

時(shí)間:2023-03-14 10:54:01 來(lái)源:電子商務(wù)



今天談下云平臺(tái)下的多租戶架構(gòu),不論是在公有云還是私有云平臺(tái),是設(shè)計(jì)一個(gè)面向最終組織或用戶的SaaS應(yīng)用還是面向業(yè)務(wù)系統(tǒng)的PaaS平臺(tái),多租戶都是前期架構(gòu)設(shè)計(jì)的一個(gè)關(guān)鍵內(nèi)容,因此有必要對(duì)里面的一些核心要點(diǎn)進(jìn)一步說(shuō)明。

多租戶架構(gòu)概述



首先還是看下百度百科對(duì)多租戶的一些關(guān)鍵說(shuō)明如下:

多租戶技術(shù)可以實(shí)現(xiàn)多個(gè)租戶之間共享系統(tǒng)實(shí)例,同時(shí)又可以實(shí)現(xiàn)租戶的系統(tǒng)實(shí)例的個(gè)性化定制。通過(guò)使用多租戶技術(shù)可以保證系統(tǒng)共性的部分被共享,個(gè)性的部分被單獨(dú)隔離。

通過(guò)在多個(gè)租戶之間的資源復(fù)用,運(yùn)營(yíng)管理維護(hù)資源,有效節(jié)省開(kāi)發(fā)應(yīng)用的成本。而且,在租戶之間共享應(yīng)用程序的單個(gè)實(shí)例,可以實(shí)現(xiàn)當(dāng)應(yīng)用程序升級(jí)時(shí),所有租戶都可以同時(shí)升級(jí)。同時(shí),因?yàn)槎鄠€(gè)租戶共享一份系統(tǒng)的核心代碼,因此當(dāng)系統(tǒng)升級(jí)時(shí),只需要升級(jí)相同的核心代碼即可。

這段描述可能理解起來(lái)比較啰嗦,我們還是從簡(jiǎn)單的場(chǎng)景來(lái)進(jìn)行說(shuō)明。

比如我們開(kāi)發(fā)一個(gè)SaaS云服務(wù)的CRM系統(tǒng)。這個(gè)系統(tǒng)部署在公有云端可以開(kāi)放給多個(gè)企業(yè)客戶使用。那么我們就遇到了一個(gè)關(guān)鍵問(wèn)題。即是否當(dāng)新入駐一個(gè)新的企業(yè)客戶的時(shí)候,我們都需要重新在部署一套應(yīng)用給這個(gè)客戶使用?

如果是這樣,那么當(dāng)新客戶入駐的時(shí)候,將帶來(lái)具體的人工投入和資源投入成本。

因此實(shí)際的情況是我們希望新增加客戶的時(shí)候,仍然還是已有的那套應(yīng)用系統(tǒng)。但是對(duì)于最終的入駐客戶來(lái)說(shuō),我們又希望客戶完全感知不到這點(diǎn),就像是單獨(dú)給他們部署了一套系統(tǒng)一樣。雖然很多客戶使用同一套應(yīng)用,但是能夠很好地做到資源和數(shù)據(jù)的隔離。

而這正好就是多租戶架構(gòu)的一個(gè)關(guān)鍵點(diǎn)。

多租戶,多組織,用戶區(qū)別



接著談下一些常見(jiàn)概念的關(guān)鍵區(qū)別。

多租戶和多組織

實(shí)際上在云計(jì)算和多租戶這些概念出來(lái)前,就已經(jīng)有多組織的概念。

比如常說(shuō)的類似Oracle,SAP等ERP系統(tǒng)都是支持多組織架構(gòu)。多組織架構(gòu)簡(jiǎn)單來(lái)說(shuō)就是對(duì)于一個(gè)大的集團(tuán)性質(zhì)企業(yè),企業(yè)本身涉及到子公司或分公司,子公司可能涉及到獨(dú)立法人也可能涉及到需要獨(dú)立輸出財(cái)務(wù)報(bào)表,或者相關(guān)公司還在海外涉及到不同的財(cái)務(wù)和會(huì)計(jì)準(zhǔn)則。

基于以上各種場(chǎng)景持續(xù)了多組織架構(gòu)。

一個(gè)多組織架構(gòu)支撐集團(tuán)所有的企業(yè)都上同一套ERP系統(tǒng),里面通過(guò)法人,財(cái)務(wù)賬簿,OU等設(shè)置進(jìn)行了多組織的支撐。而不是單獨(dú)為一個(gè)子公司再去部署一套獨(dú)立的應(yīng)用系統(tǒng)。

從這個(gè)概念來(lái)看多組織和多租戶相當(dāng)類似。

那么兩者的關(guān)鍵區(qū)別點(diǎn)在哪里?

簡(jiǎn)單總結(jié)來(lái)說(shuō)多組織架構(gòu)重點(diǎn)考慮的是數(shù)據(jù)層面的隔離,但是對(duì)于多租戶架構(gòu)更多的還需要考慮資源層面的隔離。

多組織架構(gòu)一般不會(huì)考慮類似云平臺(tái)中的計(jì)費(fèi)和計(jì)量管理,數(shù)據(jù)隔離更多是為了后續(xù)財(cái)務(wù)和數(shù)據(jù)安全管控要求,而多租戶架構(gòu)則需要考慮計(jì)費(fèi)和計(jì)量管理。多組織架構(gòu)下一般資源全共享,而多租戶架構(gòu)下資源是否共享和資源安全管控要求相關(guān)。

租戶和用戶

租戶和用戶實(shí)際是不同的兩個(gè)概念,租戶更多的是為了資源管理和計(jì)費(fèi)計(jì)量使用,而用戶更多的是為了業(yè)務(wù)功能和授權(quán)使用。

租戶和用戶有時(shí)候也是一一對(duì)應(yīng)的關(guān)系,比如你開(kāi)發(fā)一個(gè)面向個(gè)人用戶的在線郵箱SaaS應(yīng)用,那么這個(gè)時(shí)候租戶和用戶本身是對(duì)應(yīng)的,租戶即用戶。

但是如果你開(kāi)發(fā)的是一個(gè)面向企業(yè)的SaaS應(yīng)用系統(tǒng),那么這個(gè)時(shí)候租戶對(duì)應(yīng)的是組織這個(gè)層面,即入駐的企業(yè)是租戶,對(duì)應(yīng)企業(yè)入駐后,SaaS應(yīng)用會(huì)先給企業(yè)分配一個(gè)管理員賬號(hào),這個(gè)時(shí)候管理員再去詳細(xì)的錄入企業(yè)里面的具體用戶賬號(hào)。

也就是說(shuō)租戶是第一層,而下面的組織架構(gòu)和用戶是第二層。

SaaS應(yīng)用和PaaS平臺(tái)的多租戶

注意對(duì)于SaaS應(yīng)用和PaaS平臺(tái)本身都有多租戶的概念。

對(duì)于SaaS應(yīng)用來(lái)說(shuō),比如一個(gè)toB的SaaS應(yīng)用服務(wù)。最終面對(duì)的是企業(yè)和最終用戶,因此每一個(gè)入駐的企業(yè)組織就是租戶。

而對(duì)于PaaS平臺(tái)來(lái)說(shuō),比如我們?cè)谄髽I(yè)內(nèi)部建設(shè)一個(gè)公共流程平臺(tái),這個(gè)流程平臺(tái)即企業(yè)私有云內(nèi)部的PaaS平臺(tái)一部分,那么這個(gè)平臺(tái)本身也需要進(jìn)行多租戶設(shè)計(jì),而這個(gè)平臺(tái)的租戶實(shí)際是各個(gè)需要使用流程引擎能力的業(yè)務(wù)系統(tǒng)。對(duì)于類似容器云PaaS平臺(tái),消息,緩存各種PaaS技術(shù)服務(wù),都可以看到實(shí)際上各個(gè)業(yè)務(wù)系統(tǒng)就是最終的租戶。

還是拿上面的例子來(lái)說(shuō)。

如果企業(yè)內(nèi)部的公共流程平臺(tái)提供給多個(gè)業(yè)務(wù)系統(tǒng)開(kāi)發(fā)商使用,類似用友在該企業(yè)本身開(kāi)發(fā)了CRM和SRM兩個(gè)業(yè)務(wù)系統(tǒng)。

那么實(shí)際管理方式可以是CRM和SRM單獨(dú)進(jìn)行租戶申請(qǐng)和注冊(cè)。也可以是兩層結(jié)構(gòu),即還是先進(jìn)行組織申請(qǐng),組織作為第一層租戶。但是組織接入后還需要維護(hù)需要接入的業(yè)務(wù)系統(tǒng),業(yè)務(wù)系統(tǒng)作為第二層租戶。第一層的組織實(shí)際只是一個(gè)抽象的租戶集的概念。

而實(shí)際的資源管理,計(jì)量計(jì)費(fèi)等可以細(xì)粒度地管理到業(yè)務(wù)系統(tǒng)這個(gè)層級(jí)。

多租戶架構(gòu)設(shè)計(jì)和資源隔離



在多租戶和云結(jié)合的情況下,IaaS基礎(chǔ)資源層的共享已經(jīng)會(huì)變化為最基本的要求。那么在Iaas層之上來(lái)談主要?jiǎng)t包括兩個(gè)方面的內(nèi)容,即應(yīng)用是一套還是多套?數(shù)據(jù)庫(kù)是一套還是多套?最徹底的多租戶即上圖中的第6種share everything的模式,在這種模式下數(shù)據(jù)庫(kù)和應(yīng)用都為一套。

多租戶我們首先考慮隔離,在多租戶下的隔離包括了幾個(gè)方面的內(nèi)容。

一個(gè)是系統(tǒng)本身元數(shù)據(jù)和基礎(chǔ)主數(shù)據(jù)的隔離(用戶,角色,權(quán)限,數(shù)據(jù)字典,流程模板),一個(gè)是系統(tǒng)運(yùn)行過(guò)程中產(chǎn)生的動(dòng)態(tài)數(shù)據(jù)的隔離,一個(gè)是業(yè)務(wù)系統(tǒng)底層所涉及到的計(jì)算資源和存儲(chǔ)資源的隔離。

在應(yīng)用一套,數(shù)據(jù)庫(kù)多套或多schema分離情況,我們比較容易實(shí)現(xiàn)計(jì)算資源和存儲(chǔ)資源的單獨(dú)分配,但是在完全share everthing的情況下,對(duì)于計(jì)算和存儲(chǔ)資源的隔離則需要我們的PaaS應(yīng)用本身去考慮。

在當(dāng)前云原生和容器下,整個(gè)動(dòng)態(tài)部署和持續(xù)交付都更加容易,那么為了更好地進(jìn)行資源隔離,我們完全可以為單獨(dú)的大租戶動(dòng)態(tài)的擴(kuò)展一套獨(dú)立的容器集群為該租戶服務(wù),即實(shí)現(xiàn)該租戶能夠單獨(dú)使用一組容器資源池而非共享。

在私有云下的多租戶,往往隔離又不是絕對(duì)的,在能夠完全隔離的情況下又需要支撐跨租戶或組織的數(shù)據(jù)共享,可以看到如果存在這種需求,在Share everthing的情況下是比較容易滿足的。

多租戶除了隔離外,另外一個(gè)重點(diǎn)就是能夠?yàn)楦鱾€(gè)租戶按需要實(shí)時(shí)地提供各種計(jì)算資源和存儲(chǔ)資源,而且有清楚定義的數(shù)據(jù)采集和計(jì)費(fèi)模型。由于資源池是共享的,我們必須要能夠準(zhǔn)確地采集到各個(gè)租戶對(duì)實(shí)際資源的使用情況,以方便進(jìn)行多租戶的計(jì)費(fèi)。

共享資源時(shí)候的資源隔離

當(dāng)在IaaS云平臺(tái)的時(shí)候,一臺(tái)物理機(jī)可以虛擬化為多臺(tái)虛擬云主機(jī)提供給不同的租戶使用,虛擬機(jī)可以做到在計(jì)算,網(wǎng)絡(luò),存儲(chǔ)等方面的資源邏輯隔離。也就是說(shuō)一個(gè)租戶本身導(dǎo)致的虛擬機(jī)使用異?;蛐阅軉?wèn)題,并不會(huì)影響到其它租戶使用的虛擬機(jī)。

到了SaaS層多租戶,實(shí)際上仍然需要考慮租戶下面的資源管理,特別是在多個(gè)租戶共享一套底層資源的情況下。

比如當(dāng)前有A,B,C,D四個(gè)租戶在使用SaaS版本的CRM系統(tǒng),那么我們就需要考慮是不是會(huì)出現(xiàn)由于A租戶出現(xiàn)的大并發(fā)和大數(shù)據(jù)量訪問(wèn)而導(dǎo)致了剩余的三個(gè)租戶無(wú)法正常使用系統(tǒng)。要做到這點(diǎn),我們就必須做到面向租戶的服務(wù)容量控制,服務(wù)限流等能力。

多租戶下的資源計(jì)費(fèi)

如果是一個(gè)IaaS平臺(tái)的多租戶,可以看到對(duì)于彈性計(jì)算和彈性存儲(chǔ)資源都是單獨(dú)申請(qǐng)的,資源本身也是邏輯隔離,這個(gè)時(shí)候計(jì)費(fèi)相對(duì)簡(jiǎn)單。

但是對(duì)于SaaS應(yīng)用來(lái)說(shuō),要做到按資源使用情況計(jì)費(fèi)就比較復(fù)雜。因此一般的SaaS應(yīng)用會(huì)簡(jiǎn)單地根據(jù)用戶注冊(cè)數(shù),并發(fā)數(shù)或存儲(chǔ)容量分配來(lái)進(jìn)行組合計(jì)費(fèi)。當(dāng)然如果是非共享資源模式的多租戶架構(gòu),相當(dāng)來(lái)說(shuō)就更加容易按資源使用來(lái)進(jìn)行計(jì)費(fèi)。

多租戶下的分域和分組



即使是資源完全共享下的多租戶架構(gòu),仍然不建議采用一個(gè)大集群來(lái)為所有租戶提供服務(wù),而是應(yīng)該對(duì)大集群進(jìn)行分域或分組,或者多大的集群資源進(jìn)行分區(qū)或分片處理。讓不同的租戶分配到不同的集群組或分片上面。

這樣做的好處可以避免單個(gè)大集群無(wú)限擴(kuò)展導(dǎo)致的性能問(wèn)題和管理難度,同時(shí)也提升了整個(gè)應(yīng)用對(duì)外的容錯(cuò)能力,比如A集群全部故障,還可以快速的將A集群流量切換到B集群。

多租戶下的數(shù)據(jù)庫(kù)擴(kuò)展

在公有云下的多租戶,如果采用完全共享的模式,還必須考慮數(shù)據(jù)庫(kù)的可擴(kuò)展性,多租戶架構(gòu)服務(wù)下的數(shù)據(jù)庫(kù)可以是獨(dú)立數(shù)據(jù)庫(kù),共享數(shù)據(jù)庫(kù)但是Schema獨(dú)立,完全共享數(shù)據(jù)庫(kù)幾種模式。

獨(dú)立數(shù)據(jù)庫(kù)模式為每個(gè)租戶分配一個(gè)獨(dú)立的數(shù)據(jù)庫(kù),其在SID層就是完全獨(dú)立的。而對(duì)于共享數(shù)據(jù)庫(kù)但是Schema獨(dú)立這種模式下,SID只有一個(gè),但是當(dāng)入駐新的租戶的時(shí)候會(huì)單獨(dú)新生成一個(gè)獨(dú)立的Schema。

最后一種模式就是完全共享數(shù)據(jù)庫(kù),SID和Schema都只有一套,在這種模式下核心是所有數(shù)據(jù)庫(kù)表都需要增加租戶ID字段對(duì)數(shù)據(jù)進(jìn)行多租戶隔離,以保障某一個(gè)租戶登錄系統(tǒng)只能夠看到自己租戶下的相關(guān)信息。如果是一個(gè)完整的多租戶應(yīng)用,還需要考慮第二層按用戶,組織,角色群組等進(jìn)行第二級(jí)的數(shù)據(jù)隔離,以滿足業(yè)務(wù)系統(tǒng)的使用需求。

可以看到獨(dú)立數(shù)據(jù)庫(kù)模式資源利用率低,但是數(shù)據(jù)隔離性最好;而完全共享模式下資源利用率高,但是數(shù)據(jù)隔離性最弱。因此具體采用哪種模式仍然需要根據(jù)實(shí)際租戶的需求來(lái)進(jìn)行靈活創(chuàng)建和配置,一個(gè)靈活的SaaS應(yīng)用實(shí)際需要同時(shí)靈活支撐上面三種模式。


文章來(lái)源:人月聊IT,作者:何明璐;

編輯:云朵匠 | 數(shù)商云(微信ID:shushangyun_com)

關(guān)鍵詞:平臺(tái),理解,關(guān)鍵,租戶

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉