圖解:多租戶系統(tǒng)架構(gòu)設(shè)計(jì)
共 4930字,需瀏覽 10分鐘
·
2024-05-15 08:00
傳統(tǒng)軟件模式 VS SaaS模式
SaaS多租戶隔離模式
SaaS資源隔離包含幾個(gè)層次:
-
第一層是SaaS系統(tǒng)底層所涉及到的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源的隔離。 -
第二層是系統(tǒng)基礎(chǔ)數(shù)據(jù)的隔離,主要包括組織,用戶,角色,權(quán)限,產(chǎn)品能力授權(quán)關(guān)系等。 -
第三層是系統(tǒng)使用過程中,各類業(yè)務(wù)動(dòng)態(tài)數(shù)據(jù)的隔離,例如業(yè)務(wù)單據(jù)、操作記錄等。
豎井隔離模式
優(yōu)勢(shì)
-
滿足強(qiáng)隔離需求:一些客戶為了系統(tǒng)和數(shù)據(jù)的安全性,可能提出非常嚴(yán)格的隔離需求,期望軟件產(chǎn)品能夠部署在一套完全獨(dú)立的環(huán)境中,不和其他租戶的應(yīng)用實(shí)例、數(shù)據(jù)放在一起。 -
計(jì)費(fèi)邏輯簡(jiǎn)單:SaaS服務(wù)商需要針對(duì)租戶使用資源進(jìn)行計(jì)費(fèi),對(duì)于復(fù)雜的業(yè)務(wù)場(chǎng)景,計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)資源間的關(guān)系同樣也會(huì)非常復(fù)雜,計(jì)費(fèi)模型是很有挑戰(zhàn)的,但在豎井模式下,計(jì)費(fèi)模型相對(duì)來(lái)說(shuō)是比較簡(jiǎn)單的。 -
降低故障影響面:因?yàn)槊總€(gè)客戶的系統(tǒng)都部署在自己的環(huán)境中,如果其中一個(gè)環(huán)境出現(xiàn)故障,并不會(huì)影響其他客戶使用軟件服務(wù)。
劣勢(shì)
-
規(guī)模化問題:由于租戶的SaaS環(huán)境是獨(dú)立的,所以每入駐一個(gè)租戶,就需要?jiǎng)?chuàng)建和運(yùn)營(yíng)一套SaaS環(huán)境,如果只是少量的租戶,還可能可以管理,但如果是成千上萬(wàn)的租戶,管理和運(yùn)營(yíng)這些環(huán)境將會(huì)是非常大的挑戰(zhàn)。 -
成本問題:每個(gè)租戶都有獨(dú)立的環(huán)境,花費(fèi)在單個(gè)客戶上的成本將非常高,會(huì)大幅削弱SaaS軟件服務(wù)的盈利能力。 -
敏捷迭代問題:SaaS模式的一個(gè)優(yōu)勢(shì)是能夠快速響應(yīng)市場(chǎng)需求,迭代產(chǎn)品功能。但豎井隔離策略會(huì)阻礙這種敏捷迭代能力,因?yàn)楦隆⒐芾怼⒅芜@些租戶的SaaS環(huán)境,會(huì)變得非常復(fù)雜和低效。 -
系統(tǒng)管理與監(jiān)控:在同一套環(huán)境中,對(duì)部署的基礎(chǔ)設(shè)施進(jìn)行管理與監(jiān)控,是較為簡(jiǎn)單的。但每個(gè)租戶都有獨(dú)立的環(huán)境,在這種非中心化的模式下,對(duì)每個(gè)租戶的基礎(chǔ)設(shè)施進(jìn)行管理與監(jiān)控,同樣也是非常復(fù)雜、困難的。
共享模式
優(yōu)勢(shì)
-
高效管理:在共享策略下,能夠集中化地管理、運(yùn)營(yíng)所有租戶,管理效率非常高。同時(shí),對(duì)基礎(chǔ)設(shè)施配置管理、監(jiān)控,也將更加容易。相比豎井策略,產(chǎn)品的迭代更新會(huì)更快。 -
成本低:SaaS服務(wù)商的成本結(jié)構(gòu)中,很大一塊是基礎(chǔ)設(shè)施的成本。在共享模型下,服務(wù)商可以根據(jù)租戶們的實(shí)際資源負(fù)載情況,動(dòng)態(tài)伸縮系統(tǒng),這樣基礎(chǔ)設(shè)施的利用率將非常高。
劣勢(shì)
-
租戶相互影響:由于所有租戶共享一套資源,當(dāng)其中一個(gè)租戶大量占用機(jī)器資源,其他租戶的使用體驗(yàn)很可能受到影響,在這種場(chǎng)景下,需要在技術(shù)架構(gòu)上設(shè)計(jì)一些限制措施(限流、降級(jí)、服務(wù)器隔離等),讓影響面可控。 -
租戶計(jì)費(fèi)困難:在豎井模型下,非常容易統(tǒng)計(jì)租戶的資源消耗。然而,在共享模型下,由于所有租戶共享一套資源,需要投入更多的精力統(tǒng)計(jì)單個(gè)租戶的合理費(fèi)用。
分域隔離模式
多租戶系統(tǒng)的定位
多租戶系統(tǒng)需要具備的能力
-
多個(gè)租戶支持共享一套云資源,如計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)資源等。單個(gè)租戶也可以獨(dú)占一套云資源。 -
多個(gè)租戶間能夠?qū)崿F(xiàn)數(shù)據(jù)與行為的隔離,能夠?qū)ψ鈶暨M(jìn)行分權(quán)分域控制。 -
租戶內(nèi)部能夠支持基于組織架構(gòu)的管理,可以對(duì)產(chǎn)品能力進(jìn)行授權(quán)和管理。 -
不同的產(chǎn)品能力可以根據(jù)客戶需求,支持運(yùn)行在不同的云資源上。
多租戶概念模型
多租戶核心概念
-
租戶:一般指一個(gè)企業(yè)客戶或個(gè)人客戶,租戶之間數(shù)據(jù)與行為是隔離的。 -
用戶:在某個(gè)租戶內(nèi)的具體使用者,可以通過使用賬戶名、密碼等登錄信息,登錄到SaaS系統(tǒng)使用軟件服務(wù)。 -
組織:如果租戶是一個(gè)企業(yè)客戶,通常會(huì)擁有自己的組織架構(gòu)。 -
員工:是指組織內(nèi)部具體的某位員工。 -
解決方案:為了解決客戶的某類型業(yè)務(wù)問題,SaaS服務(wù)商將產(chǎn)品與服務(wù)組合在一起,為商家提供整體的打包方案。 -
產(chǎn)品能力:指的是SaaS服務(wù)商對(duì)客戶售賣的產(chǎn)品應(yīng)用,特指能夠幫助客戶實(shí)現(xiàn)端到端場(chǎng)景解決方案閉環(huán)的能力。 -
資源域:用來(lái)運(yùn)行1個(gè)或多個(gè)產(chǎn)品應(yīng)用的一套云資源環(huán)境。 -
云資源:SaaS產(chǎn)品一般都部署在各種云平臺(tái)上,例如阿里云、騰訊云、華為云等。對(duì)這些云平臺(tái)提供的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)、容器等資源,抽象為云資源。
概念模型設(shè)計(jì)
-
SaaS平臺(tái)可以創(chuàng)建與管理多個(gè)平臺(tái)用戶、多個(gè)租戶、多個(gè)資源域。 -
單個(gè)平臺(tái)用戶可以關(guān)聯(lián)到多個(gè)租戶下,例如,平臺(tái)用戶張三,可以是租戶A的用戶,也可以是租戶B的用戶。單個(gè)租戶下可以擁有多個(gè)用戶。 -
單個(gè)租戶可以訂購(gòu)多個(gè)解決方案,解決方案可以包多個(gè)產(chǎn)品能力,產(chǎn)品能力運(yùn)行在某個(gè)資源域上。 -
組織單元間有上下級(jí)關(guān)系,單個(gè)組織下可以有多個(gè)員工,員工與單個(gè)用戶進(jìn)行綁定。
多租戶核心場(chǎng)景
租戶內(nèi)部模型關(guān)系
租戶身份識(shí)別
租戶計(jì)費(fèi)計(jì)量管理
多租戶系統(tǒng)應(yīng)用架構(gòu)
總結(jié)
評(píng)論
圖片
表情
