哪怕是最苛刻的IT專業(yè)人員,有一個詞也會很吸引他注意:節(jié)約成本。當(dāng)市場中出現(xiàn)白盒交換機(jī)時——即一種預(yù)安裝第三方網(wǎng)絡(luò)操作系統(tǒng)的消費(fèi)類交換機(jī)硬件,網(wǎng)絡(luò)工程師一般首先聽到或了解到的是這種新方法有可能節(jié)約成本。
但是,隨著網(wǎng)絡(luò)可編程性的概念變得越來越受到關(guān)注,節(jié)約成本已經(jīng)不是白盒交換機(jī)中最受關(guān)注的方面了。除了節(jié)約金錢,它們還可以增加網(wǎng)絡(luò)自動化、可編程性和靈活性,這些改進(jìn)也有其實(shí)際價(jià)值。
根據(jù)波士頓Doyle Research首席分析師Lee Doyle的觀點(diǎn),包含軟件和硬件在內(nèi)的白盒交換機(jī)市場預(yù)計(jì)將在2018年增長到5億美元。但是,現(xiàn)在仍然是軟件定義網(wǎng)絡(luò)(SDN)的發(fā)展早期,因?yàn)榘缀薪粨Q機(jī)與網(wǎng)絡(luò)操作系統(tǒng)市場目前還很小。Doyle指出,作為對比,像Cumulus Networks和Big Switch Networks這樣的白盒交換機(jī)供應(yīng)商現(xiàn)在的“收益可能只有200萬美元”。
他補(bǔ)充說,目前主攻白盒交換機(jī)的公司主要有三類:有資源部署和維護(hù)這些交換機(jī)的互聯(lián)網(wǎng)級別公司、更多考慮綠地部署風(fēng)險(xiǎn)的數(shù)據(jù)中心運(yùn)營商和一些基于云但未達(dá)到互聯(lián)網(wǎng)級別的公司。然而,大多數(shù)企業(yè)和服務(wù)提供商并不滿足于任何一個網(wǎng)絡(luò)操作系統(tǒng)。對于大多數(shù)公司而言,他們的操作系統(tǒng)選擇最終取決于作出采購決策的負(fù)責(zé)人的專業(yè)技術(shù)背景。
Gartner公司杰出分析師Joe Skorupa說:“服務(wù)人員會選擇Cumulus Networks或Pica8,而網(wǎng)絡(luò)人員則會選擇Big Switch或Pica8。Cumulus Networks有適用于數(shù)據(jù)中心的白盒交換機(jī)。人們通常會用它來支持SDN堆疊網(wǎng)絡(luò),但是它本身并不是SDN。”
下面將針對這個特點(diǎn)來介紹三個使用拍盒交換機(jī)實(shí)現(xiàn)網(wǎng)絡(luò)可編程性的用例。
像管理服務(wù)器一樣管理交換機(jī)
DreamHost LLC是洛杉磯一家網(wǎng)站托管公司和云提供商,它在白盒交換機(jī)上使用Cumulus Networks的Cumulus Linux網(wǎng)絡(luò)操作系統(tǒng)來高效地?cái)U(kuò)展和管理自己的開源多租賃公共云服務(wù):DreamCompute。
DreamHost負(fù)責(zé)云的副總裁Jonathan LaCour說:“由于運(yùn)行著Cumulus Linux網(wǎng)絡(luò)操作系統(tǒng),所以我們將交換機(jī)看作是另一種Linux服務(wù)器。我們也用相同的團(tuán)隊(duì)、工具和流程去管理我們的Linux服務(wù)器上的Cumulus Linux。”
這與DreamHost的遺留交換機(jī)有很大的區(qū)別,后者運(yùn)行著預(yù)安裝的私有軟件和工具,與IT團(tuán)隊(duì)用于管理和監(jiān)控計(jì)算與存儲設(shè)備的Linux工具完全不同。
LaCour說:“Cumulus Linux幫助我們將一種特殊的網(wǎng)絡(luò)環(huán)境變成一種不那么特殊的通用環(huán)境。”
Cumulus白盒交換機(jī)采用的方法將來自大型傳統(tǒng)交換機(jī)供應(yīng)商的私有交換機(jī)接口更換為所有Linux服務(wù)器管理員都能理解的通用Linux接口。
在白盒交換機(jī)上運(yùn)行Cumulus Linux可以幫助DreamHost提升Linux平臺的性能和實(shí)現(xiàn)網(wǎng)絡(luò)可見性,同時讓它的工程師能夠使用現(xiàn)有的Linux服務(wù)器管理工具實(shí)現(xiàn)網(wǎng)絡(luò)自動化。采用與Linux服務(wù)器自動配置安裝過程的相同方法,除了一些小更新和修改之外 ,完全不需要更多的特殊考慮,Cumulus Linux控制器會自動配置其白盒交換機(jī)安裝設(shè)置,以滿足DreamHost的網(wǎng)絡(luò)要求。這個網(wǎng)絡(luò)包括客戶Pod(自包含硬件單元,表示DreamHost云的一個可用域)和用于管理用途的命令與控制Pod,它們運(yùn)行著Cumulus Linux和40GbE葉脊架構(gòu)。
LaCour說:“雖然網(wǎng)絡(luò)工程師現(xiàn)在可以通過自動化、CPI(命令行接口)和API編程控制交換機(jī),Cumulus Linux的特別之處是它的CLI和API與每一位系統(tǒng)工程師和云工程師長期使用的Linux工具完全相同,如路由器命令和ipconfig等。他們完全不需要學(xué)習(xí)新東西,所有東西都由硬件加速。”
Linux服務(wù)器與運(yùn)行Cumulus Linux的交換機(jī)之間并沒有很大的差別——主要差別就是每一臺設(shè)備上的端口數(shù)量。一個Linux服務(wù)器可能只有2~4個2層和3層連接以太網(wǎng)端口,而Cumulus白盒交換機(jī)則有48個10GB端口。
DreamHost使用DevOps工具Opscode Chef實(shí)現(xiàn)服務(wù)器與網(wǎng)絡(luò)編制。由于每一個交換機(jī)都運(yùn)行著版本2和版本3的開放最短路徑優(yōu)先(Open Shortest Path First)協(xié)議,因此從配置到故障修復(fù)等所有網(wǎng)絡(luò)操作都變得非常簡單。DreamHost工程師根據(jù)Chef手冊和秘訣(一組可重用配置說明)編程實(shí)現(xiàn)Cumulus Linux交換機(jī)的目錄管理和配置。它的IT團(tuán)隊(duì)使用基于Python編寫的工具Graphite來監(jiān)控交換機(jī)。
交換機(jī)會出現(xiàn)故障,而當(dāng)它們出現(xiàn)故障時,Cumulus Linux會讓DreamHost的網(wǎng)絡(luò)保存路由數(shù)據(jù)并保持正常運(yùn)行,直到交換機(jī)完成更換,即從網(wǎng)絡(luò)移除故障交換機(jī),然后使用剩余交換機(jī)自動重建網(wǎng)絡(luò)結(jié)構(gòu)。然后,控制器會配置新交換機(jī),然后自動將它添加到網(wǎng)絡(luò)中。這樣就可以將平均修復(fù)時間從幾小時減少為幾分鐘。
但是,與所有網(wǎng)絡(luò)平臺一樣,Cumulus Linux也不是完美的。
LaCour說:“在一些復(fù)雜特性上,網(wǎng)絡(luò)操作系統(tǒng)仍然無法與傳統(tǒng)交換機(jī)架構(gòu)相媲美。但是,這與我們的情況沒有關(guān)系,因?yàn)槲覀兏敢獗3值讓泳W(wǎng)絡(luò)的簡單性,同時在SDN堆疊網(wǎng)絡(luò)上添加白盒交換機(jī)所缺少的更多特性。”