彈性軟件是保證當今復雜的IT環境下運行規模云服務可用性的關鍵推動因素。通過轉變遠離硬件冗余的思路,微. . .
本文作者戴維·高塞爾是微軟全球基礎設施服務數據中心架構總監。主要負責微軟的技術發展方向以及該企業全球數據中心綜合基礎設施架構碳排量可靠性的整合。
傳統設備vs. 規模云計算
由于全球各地的人們越來越依賴于云服務來充分享受他們的數字化生活,盡管在物理故障時常發生的情況下,這也使得在線服務方面的需求的增加變得日益迫切。 正如我的同事戴維·比爾在本系列文章的第一部分所介紹的那樣,云服務提供商需要從傳統對于復雜的硬件冗余方案的過渡依賴,轉向于專注開發更多的智能軟件,以便可以監控、預測,并有效地管理物理基礎設施的故障。當服務可用性設計內置于更具彈性的軟件時,會有利于我們反思如何設計重大的物理數據中心。
直到2008年,像行業內的諸多企業一樣,微軟也是遵循傳統企業的IT數據中心的設計和運行方法,通過多級冗余來交付高度可用的硬件。這使得軟件開發人員必須依賴于硬件隨時都是可用的,或者動態數據冗余副本僅僅被認為是用于災難恢復。而當轉向通過依賴硬件的可用性之后,我們在軟件方面獲得了長足的發展。雖然我們在早期的模型中曾經歷過某些硬件故障和人為錯誤,但我們最終成功地交付了高度可用性的服務。然而,當我們在我們稱之為“規模云計算”方面獲得顯著進展時,我們很快看到了,所需的投資水平和復雜程度是站不住腳的。我們也認識到,這種軟件可能會比硬件導致更重大的服務中斷。
編寫代碼的可用性
我們今天所運行云規模數據中心仍然需要大量的硬件,但軟件已經成為數據中心服務可用性的主要驅動因素。在某些情況下,其幫助我們顯著地減少了對于物理冗余的需求。通過解決軟件中的可用性程式,我們可以查看到物理環境的方方面面,從中央處理單元(CPU)到建筑本身。作為集成的系統同時又可以優化各個方面的工作。
通過軟件開發工具和工作量的布局引擎,我們可以編寫一個數據中心的可用性的解決方案,比我們安裝物理冗余硬件要快得多。這種心態的轉變迅速創建了復合改進可靠性、可擴展性、效率和我們在云投資組合中發展的可持續性。
在我們的數據中心,我們已經接受了這個事實,即資金的缺乏將減少硬件故障或人為錯誤。因為這樣的服務可用性的設計必須在軟件層。不管發生任何事,應用程序或服務應該很好的將故障轉移到另一個群集或數據中心,同時保證客戶的體
驗不受影響。這些故障預期將按照業務規則在一定的條件下操作,也就絕不會成為在凌晨兩點將公司的CIO電話吵醒的原因了。
這種方法使我們接受了要在我們的環境中進行風險衡量,并刪除冗余的基礎設施的重要部分。2009年以來,我們開始提升數據中心的環境溫度,使得冷水機組成為了我們重要的設施之一,這帶來了用水量大巨大減少(平均只占到傳統數據中心用水量的1%)以及節能效果的顯著提升(平均節省了50%的能源)。同時,自2009年以來,我們還在沒有使用備用發電機的情況下一直經營數萬數千臺服務器,即使在發生停電中斷時,也保證了數以萬計的用戶體驗。通過優化我們的應用程序集群在物理世界中不相關的故障域的大小,我們已經實現了一個小故障的拓撲結構,使我們能夠區分故障并影響維護。
每一個GPS需要地圖
彈性軟件解決了現實世界之外的問題,但為了實現這一點,這個軟件需要對其所駐留的物理環境有相當的了解。而一家數據中心經理的作用就相當于一部衛星電話,它很少配備GPS功能。很少有數據中心運營商在服務器或工作量安置如何影響服務可用性方面有一套全面的看法。
典型的配置活動更像是藝術而非科學:平衡能力的限制、利用目標、虛擬化的舉措和預算。在這一過程中依托硬件帶來可變的表格。但在開始建立地圖并轉動方向之前,您需要注意如下幾件事,以便保證軟件在你的環境中斷彈性,無論您是更喜歡私人云,混合云或公共云。
* 地圖物理環境和可用性領域:從硬件的角度來看,重要的是看基礎設施硬件的物理位置。我們采用自動化和整合,自動化使得能夠在數據中心、網絡、
服務器和運行的運營團隊之間進行通信溝通。了解您的數據中心、服務器、網絡和可管理性基礎設施的故障和維修領域是部署高可用性虛擬化工作負載的關鍵。跟蹤單線圖識別常見的故障點,在互不相關的環境中進行軟件復制。在大多數數據中心,將故障域局限于一個或少數是最好的。然而,對于像微軟Azure這樣的云服務應用平臺,開發人員或IT專業人士現在可以選擇來自許多不同地區和可用性領域,跨越多個物理硬件環境來傳播他們的應用程序。
* 硬件抽象定義:當你正在尋找私有云,公共云或混合云解決方案時,正是開始思考如何展示你的數據中心基礎設施的抽象層的一個好時機。工作負載如何安置在數據中心、服務器、網絡基礎設施的頂部,以便在服務彈性和可用性方面帶來顯著的區別。不是分配物理硬件給工作量,你可以挑戰你的系統集成商或軟件開發商,通過將其捆綁到一個的可用性域和網絡延遲信封來消耗計算、存儲、帶寬資源嗎?在一個硬件抽象的環境,數據中心有很多空間能夠成為一個對軟件的實時可用性作出決定的積極參與者。彈性軟件解決了現實世界之外的問題,但為了實現這一點,軟件的開發需要對其所駐留的物理環境有相當的了解。
* 運營總成本(TCO)的性能和可用性的指標:不斷關注TCO驅動等衡量指標如性能/資金/千瓦-月,再衡量收益、風險,利潤。在規模云計算,每個軟件的生命周期都是一個改善基礎設施的機會。軟件開發人員可用的工具,無論其是調試器或編碼的環境,使他們明白了解故障的速度遠遠超過我們在數據中心空間研發的模型。跨業務部門、開發部門、IT運營部門和數據中心啟用共享的關鍵績效指標(KPI),是展示基礎設施的價值對于企業底線的關鍵。最后,建立軟件和業務團隊的雙向服務合同,將成為幫助您形成對于云計算業務、服務、和應用程序的見解的關鍵。
彈性軟件是保證當今復雜的IT環境下運行規模云服務可用性的關鍵推動因素。通過轉變遠離硬件冗余的思路,微軟已經在服務的可靠性(正常工作時間)方面獲得了顯著的收益,同時降低了成本和提高了可擴展性、效率和可持續性。因此,雖然我們還將繼續為全球的超過10億的客戶、2000萬的企業以及76處市場提供關鍵任務服務,我們正在努力使我們的服務明顯更具彈性、硬件軟件的更加高度集成,來為我們的客戶交付關鍵任務。(來源:機房360)