[雲端] Multi-Tenancy(多租戶)

雲端運算-Multi-Tenancy(多租戶)

在談到雲端運算時,常會聽到多租戶的概念,

那到底什麼是多租戶呢?

我們知道,雲端其中一個概念就是按需付費,

讓許多客戶(租戶)共用軟硬體的資源,

每個租戶再按需求去使用資源。

而多租戶技術就是一項雲端運算平台技術,

針對租戶需求的軟體服務進行客製化組態,

且關鍵在於不會影響其他租戶的使用。

 

基本上多租戶技術是用在軟體即服務(SaaS)上,

『雲端策略』一書中提到,

SaaS要採用多租戶技術的需要兩項條件,

1.  基於Web,能夠服務大量租戶且容易擴充。

2. 在第1點的基礎上要求SaaS平台提供附加的業務邏輯,

使租戶能夠對SaaS平台進行擴展,進而滿足更大型企業的需求。

 

[Cloud Computing]何謂Multi-Tenancy(多租戶)?一文中也可知道,

多租戶技術目前也面臨一些的技術上的難點,

包括資料隔離、客製化組態、架構擴展和效能客製化。

 

資料隔離:

前面有提到,租戶們共用資源,

最重要的就是讓它們彼此間的資料不會受到干擾。

但此問題的關鍵在於管理成本上,

當租戶付出越多的管理成本,當然可獲得更好的資料隔離。

例如租戶擁有自己的獨立資料庫,資料隔離效果最好。

否則就得將多個租戶的資料放在同一個資料庫中,

以不同的Schema隔開,

甚至用相同的Schema,只透過租戶的標識碼欄位進行區別。

這對於租戶來說又是一筆多的花費,

且又有安全性的考量,將會影響租戶的使用意願。

 

客製化組態:

剛剛談到的資料隔離是資料庫方面的問題,

而客製化組態則是與使用者介面相關。

要達成客製化介面其實很簡單,

只要每個租戶都擁有一個獨立的應用實例就可以,

租戶登入後再載入你的客製化組態。

但那是過去的做法,

現在多租戶技術是希望所有租戶共用一個應用實例,

租戶登入後,再根據該租戶的客製化組態為其呈現相應的應用,

這就類似iGoolgle的概念,

這裡的基本要求是,一個租戶的客製化操作不會影響到其他租戶。

但這就必須考慮到應用組態的修改,

是否會對平台中其他用戶產生影響的問題了。

 

架構擴展:

基本上平台可擴充性的基礎架構以現行技術應該不是難事,

此問題的關鍵在於,如何確保在不同負載下,能維持多租戶平台的效能。

最簡單的方法就是一開始就分配好固定的資源,

但這可能會造成資源浪費的問題,

因此再考量架構擴展時,必須衡量到效能的問題。

 

效能客製化:

剛剛提到固定資源,那麼要是有租戶願意花更多費用,

讓自己的效能更好呢?

這就必須要進行效能客製化了。

當然效能要好就分配給他多一點資源就好了,

但必須要考量的是,現在所有的人可是共用一份資源喔!!

如何在共用資源下去切割和分配資源,

相信也是一個有趣的議題。

 

在今年初,NetApp聯合思科、VMware推出點對點的安全多租戶設計架構

(Secure Multi-tenancy Design Architecture),

強調能夠透過隔離使用同一個IT基礎架構的不同租戶,以加強雲端環境的安全性。

相信未來多租戶技術的應用範圍將可更大。

 

上述所提,是最近看多租戶技術的一些想法和整理,

若有任何錯誤的地方,還請不吝指正。

 

參考資料:

1. 雲端策略:陳瀅等/著

2. http://www.dotblogs.com.tw/jimmyyu/Default.aspx