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

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

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

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

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