【中云網(wǎng)獨家】 作者:陳懷臨 中云網(wǎng)首席顧問
摘要:
云計算在被越來越多的個人和企業(yè)所采用, 但人們對于云計算服務在安全性, 可靠性和服務響應確定性方面的擔憂也與日俱增. 雖然云服務提供商(Clouds Service Provider) 通常都會承諾SLA(Service Level Agreement)的可用性(Availability)范圍等, 但許多云租戶不理解可用性的內在復雜性, 因此在選擇云平臺時缺乏對風險進行評估的能力. 本文首次系統(tǒng)的定義和分析了云計算可用性的算法模型, 特別是對云計算的IaaS, PaaS和SaaS各個層次可用性的內在關系展開定性討論. 文章的最后, 針對2008年到2012年以來AWS被外界所報道過的服務事故做了相應的統(tǒng)計調查和一些定量分析.
1. 云計算的挑戰(zhàn):
云服務在被越來越多的企業(yè)所采用. 據(jù)Gartner預測, 2013年公有云的市場份額將會以8%的增長率從2012年的1110億美金增長至1310億美金, 如圖1所示.
圖1 公有云服務市場和年增長率
在IaaS(Infrastructure as a Service)方面, 增長速度為47.3%, 市場份額為90億美金. 2012年, IaaS增長了42.4%. 2016年, 公有云的市場大小會達到2100億美金, 增長率為17.7%, 而在IaaS方面會保持41.3%的增長率[1].
然而, 隨著大量中小型企業(yè)的CIO在考慮把公司的數(shù)據(jù)和應用遷移到云計算平臺上, 伴隨而來的是對云計算的服務質量(Quality of Service)的擔憂.
UCBerkeley計算機系RAD實驗室的Michael Armbrust等在2009年2月發(fā)表了關于對云計算服務的論文--“Above the Clouds:A Berkeley View of Cloud Computing”. 文中Berkeley提出了其理解的云計算概念模型, 并提出了云服務必須克服的10大障礙[2], 如圖2所示.
圖2 Berkeley的云計算模型
在這10大障礙中, 1(Availability of Service), 2(Data Confidentiality and Auditability), 5(Performance Unpredictability), 6(Scalable Storage), 7(Bugs in Large-Scale Distributed Systems), 8(Scaling Quickly) 都與云計算質量緊密相關. Berkeley在對可用性(Availability)的解釋中, 還特別提到了DDoS攻擊對云計算帶來的危害和需要防范的措施.
另外, 據(jù)來自Newvem的調查數(shù)據(jù)報告, 有35%的亞馬遜的AWS用戶對宕機基本上沒有防范措施; 40%的AWS用戶沒有定期做數(shù)據(jù)的備份. TeamQuest最近對許多企業(yè)的CIO做了一次調查, 接受調查的的CIO有40%的表示他們在使用云計算的時候發(fā)生了機群宕機現(xiàn)象[3].
2012年, 許多著名的公有云計算數(shù)據(jù)中心都發(fā)生了重大的安全事故.下面是一些典型的案例[4][5]:
*2012年2月29日和7月26日, 微軟的Azure發(fā)生事故, 時間分別為長達9個小時和2.5個小時, 許多北美和歐洲的用戶無法正常管理和使用其公司正常業(yè)務, 有的徹底丟失了他們最新的數(shù)據(jù).
* 2012年6月14日, 6月29日, 10月22日和圣誕節(jié)期間的12月24日, 亞馬遜AWS發(fā)生了嚴重云服務緩慢和崩潰無法訪問的問題, 影響的租戶包括許多重要的互聯(lián)網(wǎng)公司, 例如Netflix, pInterest, twitter, Instagram等等[4]. 每次事故導致用戶無法正常使用服務的時間長達9個小時和更多.
* 2012年7月10日, 著名的SaaS(Service as a Service)公司Salesforce的服務出現(xiàn)重大停頓. 其原因是提供Salesforce公司IaaS服務的公司(Equinix)的數(shù)據(jù)中心電源失效. Equinix據(jù)說在1分鐘內就恢復了電源. 但Salesforce花費了接近9個小時來完整的恢復其相關業(yè)務.
* 2012年9月10日, 著名的DNS服務提供商GoDaddy的數(shù)據(jù)中心服務暫停. GoDaddy管理著接近5千萬個域名和5百萬個WEB站點. 這次服務無法正常使用長達7個小時. 其原因被解釋為路由器的數(shù)據(jù)被破壞. 也有媒體報道是GoDaddy遭遇到了強大的DDoS攻擊. 但這一聲稱被GoDaddy否認.
* 2012年10月26日, 谷歌的App Engine云服務出現(xiàn)暫停, 時間長達4個小時. 事后谷歌沒有發(fā)表具體原因解釋.
* 2012年10月26日, 著名的云存儲提供商Dropbox的服務出現(xiàn)暫停, 時間長達10個小時. 其具體原因不詳.
由上可見, 伴隨著云計算本身具備的無可爭議的巨大價值, 云計算帶來的諸多服務質量問題也正變得越來越明顯.
因此對云計算的可用性的定性和定量分析逐漸變?yōu)橐粋€兼有研究和工程價值的問題. 有助于幫助CIO們評估一個云計算平臺.
目前學術和工業(yè)界對云計算, 特別是公有云的可用性方面還沒有引起足夠的重視. 缺乏這方面的定性和定量分析工作.
本文首次系統(tǒng)的定義和分析了云計算可用性的算法模型, 特別是對云計算的IaaS, PaaS和SaaS各個層次可用性的內在關系展開定性討論. 文章的最后, 針對2008年到2012年以來AWS被外界所報道過的服務事故做了相應的統(tǒng)計調查和一些定量分析.
2. 云計算可用性(Cloud Computing Availability)
云計算可用性是一個很廣義的概念. 本文定義云計算可用性如下:
云計算可用性: 包括IaaS, PaaS和SaaS各個層面服務的連接, 可靠性, 延時, 數(shù)據(jù)泄露和丟失, 網(wǎng)絡攻擊以及其他任何意外而導致租戶的業(yè)務不能滿足期望, 或者更嚴重的業(yè)務完全暫停. 云服務商通常是通過SLA(Service Level Agreement) 來量化可用性的承諾, 給出相應的Availability的數(shù)值范圍, 例如,99.9%或者99.99等等.
按照云計算層次的分類[6], 我們認為云計算的Availability(簡稱AvailabilityCS) 包括IaaS的Availability(AvailabilityIaaS), PaaS的Availability(AvailabilityPaaS)和SaaS的Availability (AvailabilitySaaS).
我們認為, 用戶最終感知的的云計算的可用性是與云計算3個層面的可用性緊密相關的.
在下面小節(jié)中, 我們首先來形式化定義一個云計算服務的可用性并做相應的算法討論. 然后, 對云計算分層模型中IaaS, PaaS和SaaS在可用性之間的關系做理論探討.
2.1 可用性
假定在一個采樣時間范圍(例如時間 T小時內)服務發(fā)生的不可用(Unavailable)次數(shù)是N. 每次不可用之前正常運行的時間定義為TBFi(Time Before Failure). 每次用來恢復服務正常運行的時間定義為TTRi(Time To Repair).
圖3 云計算服務的可用性
由圖3可知, 在采樣時間T范圍內, 服務的可用性為:
因此, 我們推導出在時間T小時里, 云服務的可用性為:
其中:
MTBFT: 在時間T內, 云服務的Mean Time Before Failure[7].
MTTRT: 在時間T內, 云服務的Mean Time To Repair[8].
根據(jù)公式1, 我們可以定義一個云服務在基于采樣周期T下, 時間跨度為K下的Mean Time Availability(MTA)為:
假設一個云服務的SLA取樣時間T是每天, 或者說24個小時. 如果考察7224個小時的MTA, 根據(jù)上述公式, 其MTA計算方法為: