數(shù)十年來,傳統(tǒng)的核心/匯聚/接入網(wǎng)絡(luò)架構(gòu)一直是企業(yè)數(shù)據(jù)中心的主流架構(gòu),而當計算和存儲變得越來越靈活、動態(tài)、可以“軟件定義”之時,數(shù)據(jù)中心網(wǎng)絡(luò)卻一直在抗拒改變,因而也成了數(shù)據(jù)中心自動化和彈性擴展的瓶頸。
那么,數(shù)據(jù)中心網(wǎng)絡(luò)如何才能像計算與存儲那樣,具備靈活自適性呢?Big Switch的共同創(chuàng)始人Kyle Farster和Facebook的網(wǎng)絡(luò)工程師Petr Lapukhov一致主張,數(shù)據(jù)中心網(wǎng)絡(luò)的運營者們應(yīng)該尋求一種內(nèi)核艙式(core and pod)設(shè)計,可以讓超大規(guī)模數(shù)據(jù)中心從小起步,逐步試驗,逐步適應(yīng)日益變化的網(wǎng)絡(luò)需求,而不必全盤放棄現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。
20年來,3層的網(wǎng)絡(luò)設(shè)計一直在做優(yōu)化,唯獨創(chuàng)新不屬于它。
將近20年來,大多數(shù)網(wǎng)絡(luò)專家們所學的最主要的數(shù)據(jù)中心設(shè)計就是3層架構(gòu):核心(L3)、匯聚(L2/L3)和接入(L2)。而且這種基本設(shè)計取得了巨大的成功,可以輕松且低成本地構(gòu)建出可靠而且可擴展的網(wǎng)絡(luò),但是這樣的優(yōu)勢正在面臨著新一代數(shù)據(jù)中心網(wǎng)絡(luò)需求的巨大挑戰(zhàn)。
3層的網(wǎng)絡(luò)設(shè)計構(gòu)想,當時是因為L3的路由器與L2的交換機之間存在著明顯的價格差,而網(wǎng)絡(luò)流量又主要是南北向而非東西向的,且核心以及匯聚層的速度也要比邊緣的速度快上至少10倍。但是現(xiàn)在,這些考慮因素全都不存在了。
更糟的是,3層設(shè)計在支持今日數(shù)據(jù)中心的業(yè)務(wù)創(chuàng)新方面全面潰敗。而且3層設(shè)計中的一些小模塊嚴重固化,想要對其進行快速升級迭代或者創(chuàng)新實驗幾乎是不可能的,要想提升其性價比也幾乎毫無希望。從實際情形上看,3層設(shè)計是將網(wǎng)絡(luò)鎖定在了一個“最小公分母”的功能集合中,鎖定在了單一廠商、產(chǎn)品換代緩慢的困境中。
如今,數(shù)據(jù)中心網(wǎng)絡(luò)的設(shè)計已經(jīng)走到了一個新的節(jié)點上。業(yè)界人士也都不斷地在聽說一些超大規(guī)模數(shù)據(jù)中心的運營者們在構(gòu)建自己的創(chuàng)新網(wǎng)絡(luò)。這些數(shù)據(jù)中心盡管規(guī)模龐大,但是其網(wǎng)絡(luò)設(shè)計卻可以允許你從小起步,快速地進行創(chuàng)新。
這種內(nèi)核艙式創(chuàng)新的主要觀點是:超大規(guī)模數(shù)據(jù)中心沒必要一天就建成,而是可以添磚加瓦式的有機成長,每次只前進一小步即可。
從小起步的內(nèi)核艙式創(chuàng)新
所謂內(nèi)核艙式創(chuàng)新就是利用多個懸掛在路由核心層上、每個都單獨設(shè)計的“艙”(內(nèi)部結(jié)構(gòu)不必相同)。路由核心可串起很多多次迭代的艙,并為其提供快速且簡單的內(nèi)部連接,將每個艙視為一個原子單元。而在每個艙內(nèi),可以只有單一的接入層,或者更常見的“葉片加脊柱”式網(wǎng)絡(luò)。如果在一個艙內(nèi)使用了“葉片加脊柱”拓撲,那么核心層往往會被稱為“脊柱的脊柱”,整個網(wǎng)絡(luò)就代表一棵“胖樹”或“層疊式(Clos)”拓撲。
為了匹配新增的需求,新的艙可以在設(shè)計、工程、安裝和摘除上都只作為一個單元或網(wǎng)元來對待。在一個數(shù)據(jù)中心里,可以有不同迭代的艙,例如v1、v2和v3代的筴可以同時共存,都懸掛在共享的核心上。在很多迭代方法中,每個艙的設(shè)計都在前一代的基礎(chǔ)上升級——比如說可以在性價比曲線上的一些更好的點上構(gòu)建較新的硬件平臺。
內(nèi)核艙設(shè)計的好處是網(wǎng)絡(luò)、計算和存儲都可以自行迭代,然后組合成一個單元,這樣在運營和自動化上就非常簡單了。這種方法可適應(yīng)數(shù)據(jù)中心內(nèi)的設(shè)計多樣性,保證每個單元在艙的邊界內(nèi)是完全一致的。盡管使用各種不同的艙可能會傷害到整體網(wǎng)絡(luò)的一致性,但卻增加了小步試驗、迭代成長的靈活性,同時又有足夠的一致性可進行統(tǒng)一管理。
當然,這種方法也存在短板,那就是增加了操作的復雜性,它要求員工具備多種設(shè)計知識(+本站微信 networkworldweixin),可能還要用到各種不同的工具來管理和操作迭代層級不一樣的多個單元。但無論如何,如果想要維護一個簡單且統(tǒng)一的艙結(jié)構(gòu),對大多數(shù)任務(wù)進行自動化也顯然要比對蔓延整個數(shù)據(jù)中心的傳統(tǒng)3層網(wǎng)絡(luò)進行自動化容易得多。
內(nèi)核艙式設(shè)計也不會遭遇“最小公分母”或“單一廠商鎖定”等3層架構(gòu)所固有的問題。因為每個單獨的艙在合理的范圍內(nèi)都可以是一個新的開始。
網(wǎng)絡(luò)設(shè)計適應(yīng)變化
內(nèi)核艙式設(shè)計最早由一些超大規(guī)模數(shù)據(jù)中心的架構(gòu)師們所采用,作為一種橫向擴展的方法,而與之前所采用的昂貴的經(jīng)典樹拓撲縱向擴展模型相對立。傳統(tǒng)的核心/匯聚/邊緣設(shè)計一般需要在擴容時替換/重新設(shè)計/重建所有的3層架構(gòu)(這在大多數(shù)企業(yè)的數(shù)據(jù)中心建設(shè)中是一種常態(tài))。而采用內(nèi)核艙式設(shè)計,你只須給核心增加新的艙便可擴容,也可以更新最新的艙設(shè)計(無須更改整個數(shù)據(jù)中心設(shè)計)而適應(yīng)新的需求。
設(shè)想一個應(yīng)用需要在接入交換機上有雙倍的上行鏈路。在傳統(tǒng)的3層設(shè)計中,一旦所需端口密度超過了設(shè)備的容量,唯一的選擇就只能是在整個數(shù)據(jù)中心范圍內(nèi)重新設(shè)計更大、更高密度的盒子用于匯聚。而在內(nèi)核艙式設(shè)計中,只須將一個新一代的艙集成進來便可,不會影響到數(shù)據(jù)中心的整體設(shè)計。
持續(xù)的創(chuàng)新不可避免地要求軟件不斷更新。那么內(nèi)核艙式設(shè)計的一個重大優(yōu)勢就是能夠讓升級變得非常簡單。所有的艙都可以獨立升級,因為Clos或胖樹網(wǎng)絡(luò)的設(shè)計是在整個層上采用N+1冗余(最常見的是3+1),因此升級的操作風險很低。而傳統(tǒng)的1+1三層設(shè)計,大多數(shù)升級都是高風險的或繁重不堪的。
對業(yè)界而言,已經(jīng)有一些用例展示了這一革命性的和模塊化的數(shù)據(jù)中心設(shè)計方法,可以查看微軟或eBay的艙部署(一般是以術(shù)語“容器”展現(xiàn)的)。
內(nèi)核艙式思維模式
我們看到,在網(wǎng)絡(luò)設(shè)計上領(lǐng)風氣之先(例如采用SDN軟件和裸金屬硬件)的一批數(shù)據(jù)中心架構(gòu)師們已經(jīng)開始擁抱內(nèi)核艙式設(shè)計了。他們不會再整個數(shù)據(jù)中心內(nèi)采用SDN,但卻會在某一代的艙設(shè)計中用到。他們可通過一個集中控制器獲得自動化,不再需要打包的“最小公分母”設(shè)計,且可以更容易從小起步,逐步試用,最終適應(yīng)未來的各種業(yè)務(wù)需求。
頗具諷刺意味的是,很多企業(yè)架構(gòu)師在描述其數(shù)據(jù)中心時,首先都會說到3層設(shè)計,但在細節(jié)上卻各有不同。對于很多數(shù)據(jù)中心架構(gòu)師來說,向內(nèi)核艙式設(shè)計的轉(zhuǎn)變更多的是在心智上而非現(xiàn)有網(wǎng)絡(luò)上的。
當數(shù)據(jù)中心的架構(gòu)師們認可了這種新的思維模式時,就會有更多的數(shù)據(jù)中心網(wǎng)絡(luò)(無論其規(guī)模如何)從小處起步。數(shù)據(jù)中心網(wǎng)絡(luò)設(shè)計一直是一門需要在諸多優(yōu)先項之間進行權(quán)衡的學問,如果能在優(yōu)先項列表中出現(xiàn)內(nèi)核艙式設(shè)計,并由此而實現(xiàn)“創(chuàng)新”,那將是一個重大的利好消息。