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