云計算基礎架構簡介分析
不止一個關注技術行業的分析師認為,云計算(簡稱“云”)概念被炒得過頭了。幾個月前,這個術語還幾乎不為人知,而現在,所有技術分析師、雜志、廠商和會議似乎都在對此議論紛紛。雖然這個概念很火,但奇怪的是目前還沒有就云計算到底是什么給出一致的定義。有時候,云計算與公用計算和網格計算相提并論,有時候,它又與軟件即服務(SaaS)和虛擬化混為一談。究竟何謂云計算,當前的云計算模式也存在許多挑戰:
1. 數據安全與隱私。云計算基礎架構具有多租戶的特性,廠商們通常無法保證A公司的數據與B公司的數據實現物理分隔。另外,考慮到大規模擴展性方面的要求,數據物理位置可能得不到保證。如果企業需要遵守業務交易及相關數據方面的全國或國際法規,用戶可能會覺得不放心。不過,有人認為,到時候法規可能會考慮這種大規模分布式、多租戶環境。
2. 數據訪問和存儲模型。無論是亞馬遜的S3和SimpleDB服務,還是微軟Azure的數據服務(Data Service),如今提供的存儲模型都需要適應許多不同的使用場景。因而,它們可能偏向采用基于二進制大對象(blob)的簡單存儲模型或簡單的層次模型。雖然這帶來了顯著的靈活性,卻給應用邏輯解釋不同數據元素之間的關系增加了負擔。許多依賴關系數據庫結構的事務型應用程序就不適合這種數據存儲模型。
3. 缺乏標準和廠商鎖定。大多數廠商都定義了基于標準的機制(HTTP、REST和SOAP等)來訪問及使用其服務。不過,在云計算環境開發服務方面的標準才剛剛興起,而且現在缺乏一次編寫、到處運行的功能。 比如,使用谷歌的 AppEngine開發應用程序的方式就與在微軟Azure或Force.com上開發應用程序的方式截然不同。使用某廠商的編程模型開發的應用程序要遷移到另一家廠商的平臺上并非易事。不過,現在出現了像開放云計算聯盟(Open Cloud Consortium)之類的組織,它們鼓勵在云計算環境采用基于開源的軟件開發,還在考慮制訂可以協同工作的標準。
4. 處理故障。考慮到云計算應用程序具有大規模分布式的特性,要明白出現了哪些種類的故障、出現在何處也許并非易事。因此,開發的應用程序要把處理故障當做是正常執行流程,而不是例外情況。
5. 經濟模型。按使用付費的模型具有某些優勢,但如果使用量一直很高,那么這種模式具有的經濟性就不再存在。特別是事務密集型應用如果要使用云計算,廠商就要考慮對付費實行***限額。
眾所周知,云計算模式還比較新,不同廠商對此的定義、工作模型及服務仍在不斷發展之中。因此,在選擇任何一家廠商之前,都需要全面分析對方提供的服務內容、服務質量、安全模型和支付模型。
總體而言,云計算模式也許已經為企業的某幾類應用做好了準備,但肯定沒有為關鍵及事務密集型應用程序做好準備。如果應用程序預計會遇到某些使用高峰,或者需要可變動的存儲容量,那么它們非常適合云計算。另外,盡管傳統的應用程序如果不經過一番重大改寫就遷移到云計算環境上并不容易,但新的應用程序肯定會充分利用基于云計算的服務來滿足某些要求。
【編輯推薦】