雲端計算的開放性與非壟斷性(2):雲端儲存商冗餘陣列
中雲網(http://www.china-cloud.com/)今天(2010年1月12日)轉發的一篇文章(http://www.china-cloud.com/cloudcomputing/1037.jsp):“IDC前不久共對美國263名企業使用者IT高管進行了調查。調查結果發現,2009年期間,雲端計算服務面臨的前三大市場挑戰分別為服務安全性、穩定性和效能表現。該三大挑戰排名同IDC於2008年進行的雲端計算服務調查結論完全一致。IDC認為,雲端計算服務商需首先解決上述問題,才能發展更多雲端計算服務客戶。IDC調查結果還顯示,企業使用者對雲端計算服務的第四大擔心是:雲端計算服務成本可能高於非雲端計算服務。。。美國企業使用者對
本文試圖提出如下命題:IDC問題五是本是綱,而前四個問題都是末是枝節。如果IDC的第五大擔心,即各類雲端計算服務之間的相容性差的問題得到了有效解決,則前面四大擔心對應的問題都會得到緩解。命題論證很簡單:相容性帶來開放,帶來競爭,競爭帶來服務質量提高(緩解前三個問題)和服務成本下降(緩解問題四)。
下面我用雲端儲存服務來對我提出的命題作出一個示例。為此我們先假定IDC調查發現的第五大擔心即相容性差問題在雲端儲存世界已經OK了(虛擬語氣):產業界已經制定出了資料交換標準,而且各個雲端儲存基礎架構提供商(Cloud Storage Infrastructure Providers, CSIPs)也都自覺遵從這個行業標準從而已經實現了雲端儲存的開放性(從CSIPs的自身利益出發,它們應該這樣)。其實我們現在離開這個比較完美的開放雲端儲存狀況並不很遠。前一講中我提到了EMC的雲端儲存服務Atmos採用Web服務標準協議與資料交換方案REST(Representational Stateless Transfer)。這個REST就是一個很有潛力支援跨服務商間資料交換的行業事實標準。其實REST已經被一些有名的CSIPs比如S3所採用,只可惜由於S3在後端為其資料的存取功能制定了一些自身特有的方式(Bucket資料結構及所需的API,採用自身特有東西的動因或許是為了鼓勵使用者通過EC2來使用S3吧),使用者資料的跨服務商間可交換性受到了一定的侷限和影響(下文會討論)。下面(仍然虛擬語氣)假定各個CSIPs都採用REST協議和使用者交換資料,而且所採用的內部資料結構和API也沒有對資料在跨服務商間可交換性方面造成任何限制。
說到資料儲存的可靠性與穩定性大家也許都熟悉RAID(Redundant Array of Inexpensive Disks,低成本磁碟冗餘陣列)原理。簡單敘述之,在一組RAID陣列裡如果一個磁碟失效了,失效磁碟中的資料可以從冗餘陣列的其它磁碟中恢復出來。RSA公司的HAIL工作(A High-Availability and Integrity Layer for Cloud Storage: 見eprint.iacr.org/2008/489.pdf)率先提出了將RAID原理運用於雲端儲存服務上的近似概念:將若干個CSIPs組成一個RAIC(也就是把RAID中的Disks換成為CSIPs,中文可以翻譯為:低成本雲端儲存商冗餘陣列。因為RAID又可簡稱為Storage Arrays,所以RAIC也可簡稱為Cloud Storage Arrays,雲端儲存商陣列)。
現在讓我們把RAIC做成一箇中間商(Broker):它面對前端使用者提供雲端儲存服務,它往後端用REST標準協議從多個CSIPs租用雲端儲存服務。它當然還要把使用者資料冗餘保護到這些CSIPs中去。現在若是某個CSIP服務掉了鏈子(我們知道這樣的事情經常發生)就不會有問題了。RAIC可以從冗餘的CSIPs那裡取回使用者資料。既然使用者原本就不知其在雲上的資料究竟存在那個CSIP上,當然也就無需關心誰掉了鏈子了。這就是從服務的相容性、開放性直接獲得了服務穩定性的提高。至於其它種類服務質量的提高,服務成本的降低,就讓這些CSIPs去競爭吧。
在本文結尾我再次強調:RAIC所租用的CSIPs必須向RAIC提供不失一般性的,跨服務商範圍的標準資料交換協議。也就是上面提到的“使用者資料的跨服務商間可交換性”不能受到任何限制。否則使用者端就會掉鏈子。下一講我將舉例說明,如果某個CSIP沒有為RAIC(即沒有為跨服務商範圍)保留使用者資料在前後端(使用端與儲存端)的一一對應關係(儘管它的確在“我的雲端儲存配我的雲端計算”內部範圍保留了一一對應關係),讓我們看使用者會怎麼掉鏈子。