隨著云計算的興起和普及,越來越多的軟件產(chǎn)品和服務(wù)都以云服務(wù)的方式交付出來。傳統(tǒng)的軟件都是直接面向用戶的,云服務(wù)通常面向的是租戶,租戶下又有用戶,因此,租戶概念的引入,給設(shè)計云計算產(chǎn)品帶來了復(fù)雜性。
本文站在個人的角度通過分析多租戶的概念,云計算產(chǎn)品中為什么要用多租戶,多租戶是怎么設(shè)計的,分享下個人對多租戶管理的看法。最后,通過一個實際的例子具體看一下DeepNote是怎么設(shè)計多租戶的。
什么是租戶?
提到“租戶”,相信大家的第一反應(yīng)是跟房子有關(guān)的租戶。租戶跟房東簽約租賃業(yè)主的房子、房子里的各項設(shè)施以及房東的各種服務(wù)。
租戶與業(yè)主簽約,簽約的內(nèi)容一般包括:
租賃范圍:居住空間、床、沙發(fā)、電視、水、電、煤氣等等
租賃期限:一般簽1年或者3年。
雙方的權(quán)責(zé):業(yè)主負(fù)責(zé)房屋以及各項設(shè)施的保障并從租戶那里收取租金。租戶繳納租金,享受房屋以及房屋內(nèi)各項設(shè)施的使用及服務(wù)。
云計算中的租戶也差不多,租戶與云服務(wù)商簽約,租賃云服務(wù)商提供的IaaS、PaaS、SaaS等服務(wù)。簽約的內(nèi)容包括:
租賃范圍:IaaS、PaaS、SaaS等服務(wù)
租賃期限:按時長、包年包月
雙方的權(quán)責(zé):云計算服務(wù)商向租戶收取租金,提供云計算服務(wù)并保障服務(wù)的穩(wěn)定性。租戶享受云計算服務(wù)商提供的服務(wù)并向云計算服務(wù)商繳納租金。
為什么要租賃云計算服務(wù)?
對于客戶來說,建設(shè)和運維自己的業(yè)務(wù)系統(tǒng)需要花費的周期太長,不利于業(yè)務(wù)的迅速構(gòu)建和推廣,前期建設(shè)的成本也會很高。通過租賃云計算服務(wù)的方式,前期可以在有限成本下迅速將自己的業(yè)務(wù)推向市場,同時云服務(wù)的穩(wěn)定性、可用性、安全性等由云服務(wù)商兜底。
目前很多新興的互聯(lián)網(wǎng)公司就是把服務(wù)架設(shè)在云計算服務(wù)之上的,比如大家熟知的拼多多,就使用了騰訊的基礎(chǔ)設(shè)施(IaaS)云服務(wù)。
云計算租戶管理應(yīng)該具有哪些能力?
在云計算平臺中,一個租戶可以是一個個人用戶或者一個組織單位。租戶在云計算平臺上租賃云服務(wù)商提供的服務(wù),租戶需要提供身份信息、聯(lián)系人及聯(lián)系方式信息,以及用于支付云服務(wù)租金的扣款賬號信息。對于組織性質(zhì)的租戶,還應(yīng)提供個人用戶賬號的管理,方便組織內(nèi)用戶使用云服務(wù),同時需要對使用云服務(wù)的用戶根據(jù)角色,授予不同的權(quán)限。
一、對租戶信息管理的能力
租戶的身份信息,對于個人用戶,維護(hù)身份證、手機號、扣款賬號等信息。
對于組織租戶,維護(hù)營業(yè)執(zhí)照、扣款賬號、聯(lián)系人、聯(lián)系人手機號等信息。
二、租戶內(nèi)用戶管理的能力
如果租戶是一個組織的話,使用云服務(wù)的最終還是組織內(nèi)的個人用戶。每個組織性質(zhì)的租戶都應(yīng)有一個管理員,負(fù)責(zé)維護(hù)租戶信息、租賃服務(wù)信息以及本租戶內(nèi)用戶的管理。
具體的用戶管理功能包括用戶的添加刪除和用戶權(quán)限的分配管理。對于權(quán)限的分配,通常采用RBAC模型,即通過為角色授權(quán)以及建立用戶和角色的關(guān)系為用戶授權(quán)。
三、租賃服務(wù)的管理能力
租戶管理員和有權(quán)限的用戶都可以租賃云服務(wù)商的服務(wù),對租戶服務(wù)的管理能力包括服務(wù)租賃、退租、續(xù)租等操作。進(jìn)一步,租戶管理員可以限制每個用戶可租賃服務(wù)的配額,以控制本租戶租賃云服務(wù)的支出成本。
云服務(wù)商還應(yīng)為租戶提供已租賃云服務(wù)的監(jiān)控能力,比如用量、性能、可用性、穩(wěn)定性、安全性等指標(biāo),進(jìn)一步可提供可視化數(shù)據(jù)報表。
四、查看訂單與計費的能力
租戶管理員需要知道每一筆訂單的詳情,每一分錢的去向,因此,云服務(wù)商需要為租戶提供多維度、精細(xì)的訂單與費用報表。
訂單記錄了訂單生成的時間,發(fā)起訂單的用戶,租賃的服務(wù)及價格等信息。此外,云服務(wù)商還應(yīng)為租戶提供賬單,賬單記錄了某一計費周期內(nèi)每一筆錢的花費情況。
進(jìn)一步,云服務(wù)商還應(yīng)為租戶提供費用統(tǒng)計等可視化報表。
以DeepNote舉例
DeepNote由一個位于舊金山的小團(tuán)隊開發(fā),它是一種云協(xié)作、云硬件,上云的 Notebook 編程環(huán)境,可與現(xiàn)有的Jupter兼容,方便部署,并且免費,是新一代的數(shù)據(jù)科學(xué)notebook。
DeepNote提供的是一種SaaS化的Notebook服務(wù),功能類似Jupyter Notebook,租戶在DeepNote上租賃Notebook服務(wù),同時向DeepNote繳納租金。每一個用戶對Notebook來說都是一個租戶,用戶還可以創(chuàng)建團(tuán)隊,把一個團(tuán)隊作為一個租戶。我們來看下,DeepNote對多租戶管理的能力。
一、管理租戶
默認(rèn)情況下,每個用戶都有一個My space,用戶也可以創(chuàng)建團(tuán)隊賬戶。其實My space本質(zhì)上也是一個特殊的團(tuán)隊賬戶,只不過這個賬戶僅有一個成員。

二、管理用戶
對用戶的管理包括用戶和權(quán)限,DeepNote對權(quán)限的管理是把用戶綁定為不同的角色,每個角色權(quán)限不同。
DeepNote定義了三種角色:Viewer、Member和Admin,其中Viewer權(quán)限最少,Admin權(quán)限最多。

三、管理服務(wù)
DeepNote把每個Notebook用一個Project表示。DeepNote提供了3中類型,以小時為周期租賃服務(wù)。
用戶啟動服務(wù)就表示了租賃服務(wù)的開始,停止服務(wù)表示租賃服務(wù)中止。

四、查看訂單與計費
我實際沒買DeepNote的服務(wù),因此訂單和賬單都看不到,暫時不放DeepNote的截圖了。截了一張滴滴云的圖來示例訂單和賬單。

小結(jié)
云計算服務(wù)通過多租戶管理為租戶提供可復(fù)用的能力。租戶從云計算服務(wù)商租賃服務(wù)并向云計算服務(wù)商支付租金,云計算服務(wù)商對多租戶的管理能力主要包括:管理租戶、管理用戶、管理租賃服務(wù)、提供訂單和賬單的查詢等服務(wù)。