云計算始于數據中心。我們都在夢想著這樣一個世界,即任何人都可以將他們多余的計算能力作為虛擬化資源賣給其他人,這是一種完全分布式的云計算模式。然而,現在的現實是,云計算遵循一種集中化工廠模式:資源由中央“工廠”(即亞馬遜、Rackspace、微軟、谷歌等的龐大數據中心)提供,并通過互聯網分發給消費者。
從某種意義上說,大規模數據中心是實現云計算的基礎。在今天令人難以置信的大型模塊化數據中心出現之前,向其他人銷售計算資源簡直是一個噩夢。對于大多數客戶而言,不僅提供高可用性的成本讓他們望而卻步,而且可能無法完成。
可擴展性、可用性、彈性和安全性是必須以這樣或者那樣的方式納入數據中心設計中的因素,從數據中心所在建筑物的結構一直到每臺服務器上使用的軟件,都必須考慮這些因素。否則,云計算供應商給出的任何承諾都將無法實現。
云計算供應商的承諾
對于云計算供應商給出的主要承諾,特別是在基礎設施即服務領域,我們可以看到,大多數這些承諾都取決于數據中心建立之前出現的問題。對于客戶而言,正常運行的承諾似乎很簡單:當服務正常運行時,我可以訪問和使用資源,而如果出于某種不能正常運行時,我將無法訪問資源。而對于服務供應商而言,問題棘手的多:服務無法正常運行可能是因為服務器或磁盤故障,或者是重大停電事故。很多較低級的問題(例如電源或網絡連接)都與較大的問題相關聯,例如數據中心建立的位置。
在很多國家,你不可能同時接入到兩個獨立的外部電力能源供應商。這個事實可能會迫使企業投入更多資金來購買發電機或者其他后備能源,這無疑增加了運營成本。在網絡方面,也面臨同樣的問題:無法接入到多個供應商,企業可能被迫部署自己的基礎設施,甚至“自暴自棄”地接受這樣的事實,即自己可能無法達到一定的可用性水平。
可擴展性是另一個有趣的問題。云計算服務供應商提供的(幾乎)無限的可擴展性意味著他們必須不斷增加可用容量,為了能夠應對任何增加的需求。基礎設施供應商每一天需要向他們的數據中心增加數百臺甚至數千臺服務器,不僅是用于替換故障設備,同時也為了應對未來的需求。將可擴展的資源交到基礎設施最終用戶手中將導致這樣的情況:你根本不知道單個用戶最多可能需要多少資源(這也是為什么大多數云服務供應商對單個賬戶可利用的服務器數量進行了虛擬的限制的原因)。
即使是像亞馬遜的可用區(多個數據中心位置靠近,互相之間保持低延遲性的連接)這樣簡單的東西,也會帶來設計和管理方面的復雜性。在亞馬遜的情況下,正常運行時間是對多個可用區的衡量,而不是單個可用區,這些可用區必須足夠分散,這樣影響某個可用區的外部問題就不會影響到其他可用區,同時,距離也不能太遠,以保證低延遲性連接。與此同時,它們代表了一種新的數據中心概念:多個數據中心可作為單個數據中心運行。
云計算和數據中心并駕齊驅
隨著部署率的增長,云計算將繼續推動數據中心的演變,從架構到軟件和控制流程。更廣泛的部署不僅將迫使數據中心運營商重新思考其內部運作,還需要他們能夠適應新的新興需求。隨著使用量的增加,還有能源消耗的增加,并且,由于供應商提供的計算資源變得更加多樣化,這個環境將變得更加多種多樣,管理也將更加復雜。簡單的措施(例如使用外部空氣來取代空調設備)將幫助企業節省數百萬美元。
如果云計算帶來計算資源的商品化,數據中心將需要進行優化,以便允許企業通過銷售這些資源來生存。由于云計算在可預見的未來中將依賴于數據中心,這兩種技術的演變無疑是聯系在一起的,任何關注其中一種技術的人都應該同時密切關注另一種技術。