一旦云服務公司達到了一定規模,網絡規模的數據中心經濟學開始有了很大的意義,最新的主要服務提供商Salesforce公司看起來像是已經越過了這個門檻。
Salesforce公司基礎設施工程副總裁TJKniveton表示,該公司通過“大規模轉型”改變了其基礎設施運行方式,從很多專業定制服務器規格到手動配置工作的做法,就像網絡規模數據中心運營商像谷歌和Facebook那樣大量使用,在公司內部規范裸機服務器,并實施先進的數據中心自動化工具。
Kniveton將在舊金山舉行的DCD互聯網大會上與來自谷歌和Joyent的基礎設施技術專家一起探討數據中心技術。
在過去10年中,為了適應自己的需要,Kniveton帶領的研究小組致力于網絡規模數據中心的所有基礎設施的創新工作。這將重新定義批發數據中心提供商、硬件和軟件供應商(Salesforce使用數據中心提供商產品,而不是自己建造),以及運行在基礎設施之上的軟件開發商之間的關系。
一個比較大的變化就是將適用于各種應用類型不同的服務器配置過渡到一個單一的服務器規格范。當微軟宣布將加入Facebook的開放計算項目時,就提出了開源數據中心和硬件設計的倡議,去年年初,微軟公司就開始實施了類似的策略改變,在其基礎設施上進行規范的單一的服務器設計,以利用規模經濟。
Facebook的做法略有不同,雖然它有具有高度的標準化的服務器,基于工作負載類型,在每個服務器進程使用了幾種不同的配置。
Kniveton表示,要進一步促進Salesforce公司單一的規格標準化,他沒有提供有關設計細節,但表示,減少到一個配置會有很多的好處。
另一個大的變化是更加依賴于軟件,像可靠性和通用服務器管理。像網絡規模經營公司Salesforce依賴于軟件,使其應用具有彈性,而不是保證每個單獨的硬件全天候運行無事。
自動化:應用程序和基礎設施之間的粘合劑
數據中心的大部分軟件工作促進了自動化進程,所以計算機可以代替系統管理員的手工工作。其目標最終不僅僅是簡單的任務自動化,而是為應用程序提供最佳的基礎設施,并建立自我管理系統。
Salesforce公司的努力在某種程度上依賴于開源技術,但Kniveton的研究小組發現,他們需要的一切并不都是開源的。他說:“雖然有很多困難,但是這個團隊仍然在內部創造出很多技術,我希望未來在某些方面實現開源。”
數據中心自動化是網絡規模化方法的關鍵。谷歌公司企業基礎設施首席技術官GengLi表示,自動化是保持數據中心一切設施融合在一起的粘合劑。“這不僅僅是向一個供應商或一些供應商購買技術,”GengLi說。
自動化使一個管理員可以管理數千臺服務器,這是在這樣的尺度來管理基礎設施的唯一途徑。而在谷歌數據中心就沒有系統管理員,GengLi表示,谷歌數據中心這樣的角色稱之為可靠性工程師。“那些人都是軟件開發人員,”他說,“這樣的工程師可以得到服務支持,實現基礎設施自動化,以正確支持服務,這是他們的責任。”
自動化也有助于提高基礎設施的利用率。它可以使物理設施實現虛擬化或抽象化,并將可以使用的應用程序創建虛擬池資源。例如,服務器集群中所有可用的閃存容量,可以被視為一個單一的閃存資源,并進行分享,而不是個別的應用程序某些服務器上使用一些閃存資源,卻留下了大量的閑置容量。
漣漪效應風險
顯然,系統越大,系統的自動化程度越高,如果有問題的話,其影響也就越大。在一個高度自動化的系統中,每一件事都是相互關聯的,一個單一的軟件缺陷可以級聯的方式傳導,如果沒有被軟件開發人員發現的話,將會引發廣泛的服務中斷。
云提供商Joyent公司首席技術官布萊恩·卡特瑞警告說,在整個數據中心基礎設施中,自動化程度越高,就會面臨著一個微小錯誤造成災難性后果的局面。
Kniveton承認確實存在這樣的風險,并稱自動化方法意味著需要更多的思考,如何避免數據中心實現自動化后小錯釀大禍。他表示,“權力越大意味著責任越大。”