雲端運算-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. 雲端策略:陳瀅等/著