由于自動化的出現(xiàn),管理員不再專注于單個應(yīng)用程序和服務(wù)器。對于不同程度的自動化,管理員應(yīng)該做些了解。
自動化不僅僅是數(shù)據(jù)中心以及虛擬環(huán)境的未來,同樣是社會的未來。與能夠大幅度降低勞動力成本的國家競爭,意味著自動化是各行業(yè)、各階層主要的業(yè)務(wù)創(chuàng)新。IT并非與眾不同,數(shù)據(jù)中心自動化的大幕才剛剛拉開。
軟件定義的網(wǎng)絡(luò)、API驅(qū)動的基礎(chǔ)設(shè)施以及新協(xié)議比如Redfish正在改變我們管理數(shù)據(jù)中心的方式。管理員在單臺服務(wù)器上承載單個應(yīng)用的日子越來越少了。
在IT行業(yè)這并非一個新話題。回顧一下VMware在過去幾年的收購以及創(chuàng)新足以讓我們乃至對軟件定義一切運動最堅定的懷疑論者相信——基礎(chǔ)設(shè)施即代碼這一最終目標(biāo)是非常真實的。
VMware一直在構(gòu)建混合云產(chǎn)品、自服務(wù)計算產(chǎn)品,甚至自己創(chuàng)建了OpenStack。為了得到NSX,VMware收購Niciria并構(gòu)建了VSAN、VVOL,依靠基于角色的管理部署基于策略的虛擬存儲。
軟件定義一切是當(dāng)今虛擬化浪潮中非常真實的一部分。如此頻繁討論的標(biāo)準化術(shù)語已經(jīng)出現(xiàn)在數(shù)據(jù)中心,描述不同級別的自動化。
傳統(tǒng)數(shù)據(jù)中心,每臺服務(wù)器被單獨照顧,幾乎沒有使用到自動化。每臺服務(wù)器就是一個“寵物”,被關(guān)心、愛護。
采用了高度虛擬化、操作系統(tǒng)以及應(yīng)用自動化的數(shù)據(jù)中心通常被稱為“寵物”數(shù)據(jù)中心。服務(wù)器不再有名字而被單獨關(guān)愛。這些服務(wù)器采用自動化方式創(chuàng)建、刪除。
數(shù)據(jù)中心自動化的下一個階段是“螞蟻”數(shù)據(jù)中心。應(yīng)用更多地位于容器而不是虛擬機。應(yīng)用數(shù)據(jù)與應(yīng)用本身分離,基礎(chǔ)設(shè)施的所有方面,從網(wǎng)絡(luò)或存儲腳本化、監(jiān)控、自動化、編排。很少有公司的數(shù)據(jù)中心從“寵物”進化成“螞蟻”。
然而,除“螞蟻”之外,是更高級別的數(shù)據(jù)中心自動化。目前還沒有一個名字,但我將其稱之為“細菌”。這一級別的自動化考慮到了外部環(huán)境。使用傳感器監(jiān)測環(huán)境變化,為解決溫度劇增問題,可能會導(dǎo)致工作負載從數(shù)據(jù)中心的一端遷移到另一端。
和細菌通過創(chuàng)造富氧環(huán)境改變了地球面貌類似,細菌級數(shù)據(jù)中心能夠改變它占據(jù)的環(huán)境。例如HVAC系統(tǒng)被未雨綢繆觸發(fā)用于處理預(yù)定的工作負載。用于應(yīng)對系統(tǒng)失敗的組件被自動訂閱,這樣當(dāng)算法預(yù)言節(jié)點故障時組件已經(jīng)就緒了。工作負載在世界各地移動以更好地獲取數(shù)據(jù)、靠近使用它的用戶。
細菌級數(shù)據(jù)中心不僅僅是基礎(chǔ)設(shè)施的自動化,還包括不斷制造麻煩的系統(tǒng),迫使開發(fā)人員不斷適應(yīng)。這將包括自動化A/B測試甚至更多。工廠不僅交付應(yīng)用而且還生產(chǎn)優(yōu)秀的應(yīng)用并持續(xù)改進最佳實踐。
谷歌可能是唯一一家運營達到細菌級的數(shù)據(jù)中心。Netflix以及Facebook是與之接近的競爭對手,而且Netflix甚至沒有用完它自己的物理基礎(chǔ)設(shè)施。
真實世界中的SDN
當(dāng)你考慮如何徹底地自動化一個像Google這樣的細菌級數(shù)據(jù)中心時,你也許會被要求像谷歌那樣運營,這個任務(wù)可能相當(dāng)艱巨,因為谷歌必須投入很多技術(shù)。但能夠達到該級別的數(shù)據(jù)中心自動化的工具正在越來越多地為人所用。
考慮一下SDN。SDN的核心是實現(xiàn)控制與數(shù)據(jù)的分離。這是一種奇特的方式,交換機配置是集中控制的而不是必須登錄到每臺交換機告訴它需要做什么。
在全通徑SDN設(shè)置中,制器軟件進行很多計算,使用交換機以及可用的線路以確保數(shù)據(jù)順利到達目的地。全SDN網(wǎng)絡(luò)具備很多智能,但這并不意味著SDN是一個“全有或者全無”的提議。
我的實驗室中有兩臺現(xiàn)代Supermicro交換機。第一個是SSE-X3648S (48x SFP+ 10GbE/6x QSFP 40GbE) Cumulus Linux Ready交換機,是一臺很棒的SDN交換機。第二臺是SSE-X3348T (48x 10 Gbase-T 10GbE/4x QSFP 40GbE)。
有很多方式可以與SSE-X3648S交互,而且能夠快速響應(yīng)變化。由于有一個豐富的API,所以與各種應(yīng)用集成非常方便。實際上,Cumulus提供了與很多從Dropbox到SAP的預(yù)集成應(yīng)用。
SSE-X3348T并非一臺Cumulus交換機,對它自動化要采取更原始的方式。可以通過Web接口或者與Cisco IOS非常類似的命令行接口。數(shù)據(jù)中心自動化可以使用命令行接口。這需要寫腳本與交換機通信并命令其執(zhí)行任務(wù)。
最終,腳本成為了訪問這些交換機的一個中間件。你在一端構(gòu)建應(yīng)用API,在另一端構(gòu)建一個程序連接交換機并發(fā)出命令。SSE-X3348T要比SSE-X3348S笨重,而且針對變化的響應(yīng)時間也更慢。
這并沒有使SSE-X3348T變成一臺糟糕的交換機。它能出色地完成工作。在幾秒鐘內(nèi)實現(xiàn)交換機的自動化以查看你需要做出的改變完全有可能。對傳統(tǒng)基于“寵物”的數(shù)據(jù)中心乃至大多數(shù)基于“牲畜”的數(shù)據(jù)中心來說,SSE-X3348T完全是可以接受的交換機。
但使用SSE-X3348T無法實現(xiàn)“螞蟻”數(shù)據(jù)中心,你需要的是像SSE-X3348S這樣的交換機。你需要能夠在一秒內(nèi)做出改變,而且要立刻做出多個改變。你需要一臺操作系統(tǒng)完全用于高速、動態(tài)環(huán)境的交換機。
交換機以外
交換機是一個實際的例子,但并非唯一的一個。存儲是另一個能夠以自動化方式快速做出改變的組件。企業(yè)不會花錢調(diào)整LUN大小。這正是VMware開發(fā)VVOL的原因所在。同時也是過去幾年中存儲技術(shù)以及標(biāo)準涌現(xiàn)出來挑戰(zhàn)傳統(tǒng)模式的原因所在。傳統(tǒng)模式下需要向存儲管理員提出變更請求并等他們?yōu)閼?yīng)用手動分配存儲。
現(xiàn)在應(yīng)用需要能夠以自動化方式獲取存儲以及網(wǎng)絡(luò)資源,并將這些資源分配給虛擬基礎(chǔ)設(shè)施,創(chuàng)建虛擬機或容器并配置相關(guān)操作系統(tǒng)、應(yīng)用、配置以及數(shù)據(jù)。
Docker及其生態(tài)系統(tǒng)有助于實現(xiàn)容器自動化。OpenStack正在促進虛擬機自動化并提供一個將存儲自動化、網(wǎng)絡(luò)自動化以及其他基礎(chǔ)設(shè)施的自動化整合到一起的平臺。VMware、微軟都在開發(fā)它們自己的Docker版本。
為管理物理環(huán)境,分布式管理任務(wù)小組已經(jīng)開發(fā)了Redfish標(biāo)準。目前Redfish是一個更快、更好的管理物理服務(wù)器智能平臺管理接口(IPMI)的替代者。最終的目標(biāo)是數(shù)據(jù)中心內(nèi)的一切——從電源插座到網(wǎng)絡(luò)化的溫度傳感器——都可以通過Redfish進行訪問。甚至HVAC系統(tǒng)最終也可以通過Redfish進行控制。
有一個適用于所有設(shè)備的API。基礎(chǔ)設(shè)施即代碼很簡練,但切中要害。并不是可以使用腳本安裝,應(yīng)用本身就是自動化的。只有在創(chuàng)建應(yīng)用時可以召集所有資源,刪除應(yīng)用時可以釋放所有資源,而且在操作過程中能夠進行監(jiān)控才可以稱得上自動化。
為解決運營數(shù)據(jù)中心遇到的問題才開啟了自動化進程,存儲、網(wǎng)絡(luò)、虛擬基礎(chǔ)設(shè)施都是開放的。不要嘗試一下子搞定所有問題,先從熟悉的一個方面開始。從小事做起,但盡一切辦法堅持下去。
當(dāng)所有競爭對手的數(shù)據(jù)中心正在以“螞蟻”式高效運轉(zhuǎn)時,你肯定不希望公司還處于照顧“寵物”級數(shù)據(jù)中心的階段。