SDN自動化:沒那么簡單
自動化和SDN似乎正齊頭并進,但在軟件定義網(wǎng)絡(luò)實現(xiàn)自動化之前,我們?nèi)匀恍枰鉀Q一些挑戰(zhàn)。
很少有技術(shù)像SDN有這么多優(yōu)勢,即使是服務(wù)器虛擬化也有很大的缺點,即需要配置額外存儲和物理/虛擬控制器來容納所有這些虛擬機。
SDN能夠給數(shù)據(jù)環(huán)境帶來很多優(yōu)勢。SDN能夠幫助簡化流量以及網(wǎng)絡(luò)基礎(chǔ)設(shè)施,同時,它能夠?qū)崿F(xiàn)廣泛的可擴展性和按需配置,讓用戶最終能夠獲得他們需要的資源來完成其任務(wù)。并且,它提供了***的組件來實現(xiàn)完全虛擬化的數(shù)據(jù)環(huán)境,其中計算、存儲和網(wǎng)絡(luò)能夠相互關(guān)聯(lián),并且根據(jù)需求來擴展。
SDN自動化:OpenFlow 只是***步
不過總是會有問題,SDN的問題在于,只是因為你從數(shù)據(jù)平面分離了控制平面,并不意味著你能夠立即獲得軟件定義網(wǎng)絡(luò)的所有神奇屬性。事實上,在關(guān)鍵網(wǎng)絡(luò)設(shè)備部署基本SDN協(xié)議(例如OpenFLow)只是漫長的過渡的***步,并且對于真正的SDN架構(gòu),業(yè)界并沒有達成共識。
SDN的自動化方面就是一個很好的例子。簡單的事實是,無論你部署的是OpenFlow還是其他方法,基本的協(xié)議只會提供基本的抽象化。你仍然需要部署實際的自動化堆棧來實現(xiàn)自動化配置、實時負載均衡和按需資源分配等。
“對于SDN,我們的重點在于分離控制和轉(zhuǎn)發(fā)數(shù)據(jù)平面,當(dāng)然這樣做有很多優(yōu)勢,”Nuage Networks公司***執(zhí)行官Sunil Khandekar表示,“但這并不是SDN的全部。事實上,SDN是關(guān)于自動化、抽象、控制和可視性。對于應(yīng)用程序開發(fā)人員和網(wǎng)絡(luò)管理員而已,重要的不是知道他們是使用OpenFlow還是SNMP,而是他們在做什么來幫助自動化數(shù)據(jù)中心,以確保私有云[注]和AWS一樣靈活、可響應(yīng)和可編程化。”
SDN自動化需要什么?它能做什么以及它不能做什么?
但當(dāng)我們決定我們想要的不只是軟件定義網(wǎng)絡(luò),而是自動化的軟件定義網(wǎng)絡(luò)時,這意味著什么呢?如果你計劃推動自動化到應(yīng)用程序?qū)?7層網(wǎng)絡(luò)),現(xiàn)在的7層網(wǎng)絡(luò)OSI網(wǎng)絡(luò)模型需要不止一個解決方案。2層網(wǎng)絡(luò)和3層網(wǎng)絡(luò)功能(可能還有一些4層網(wǎng)絡(luò)功能)可以由OpenFlow或者其替代品來處理。此外,你還將需要一個策略引擎,位于數(shù)據(jù)路徑外來監(jiān)管傳輸和會話管理,而且,它還需要直接與SDN控制器協(xié)調(diào),從而不會給網(wǎng)絡(luò)制造故障問題。ONF和其他組織都在積極努力擴展OpenFlow功能到4層和7層網(wǎng)絡(luò),但目前還沒有實現(xiàn)。
這種完全自動化的SDN環(huán)境將會移除人類控制,允許應(yīng)用程序本身來定義它們理想的網(wǎng)絡(luò)參數(shù),然后指示自動化堆棧來提供。當(dāng)然,這會讓很多網(wǎng)絡(luò)管理員頭痛,他們將會面對無盡的資源沖突、政策糾紛和嚴重的停機時間。
總之,不要指望你的自動化SDN環(huán)境在設(shè)置好后就可以自己運行。
“自動化并沒有涉及責(zé)任的概念,”F5網(wǎng)絡(luò)公司***技術(shù)傳道者Lori MacVittie表示,“如果你問別人是否希望自動化系統(tǒng)來改變企業(yè)防火墻,答案肯定是否定的。***,自動化并不是關(guān)于處理一切,而是關(guān)于更高效的流程。”
換句話說,在配置過程中消除所有手動步驟可能是沒有必要的,但移除95%的手動操作是可行的,只要***有一位人類操作員來檢查所有過程即可。
MacVittie還聲稱,自動化網(wǎng)絡(luò)環(huán)境中的關(guān)鍵因素并不是控制,而是可視性。讓網(wǎng)絡(luò)架構(gòu)部署在抽象和軟件基礎(chǔ)上可以給我們提供***的能力,來分析數(shù)據(jù)流和網(wǎng)絡(luò)模式。這讓管理員不僅可以監(jiān)管網(wǎng)絡(luò)負載和情況,而且可以對現(xiàn)有模型準(zhǔn)確地作出變更計劃,并預(yù)測這種變更對整個數(shù)據(jù)堆棧帶來的影響。
“SDN[注]的部分目的在于運營方面,”她表示,“但關(guān)鍵部分是能夠在給定時間點查看網(wǎng)絡(luò)狀態(tài)。在了解網(wǎng)絡(luò)狀態(tài)后,你就可以開始自動化過程,因為你現(xiàn)在知道網(wǎng)絡(luò)的狀況,并且可以更容易地改變路線和進行其他更改。但仍然需要規(guī)則來管理這一切。”
但在實際意義上,這與現(xiàn)在物理網(wǎng)絡(luò)中存在的自動化有什么不同呢?可以肯定的是,SDN提供了更優(yōu)雅的方式來實現(xiàn)自動化,但現(xiàn)在的腳本和內(nèi)嵌式命令能夠很好地重新配置數(shù)據(jù)通路。
SDN自動化的特別之處在于
網(wǎng)絡(luò)解決方案開發(fā)商Overture Networks公司***技術(shù)官Prayson Pate表示,關(guān)鍵的區(qū)別在于SDN讓你可以為未來進行自動化,而不是為現(xiàn)在。
“傳統(tǒng)自動化是關(guān)于構(gòu)建一個服務(wù),然后自動執(zhí)行它,”他表示,“如果你考慮SDN中的抽象化層,你可以構(gòu)建自動化到API,然后使用它作為基礎(chǔ)來開發(fā)新服務(wù)。你不在需要基于現(xiàn)有服務(wù)來定義API,而是創(chuàng)建一個通用工具箱來創(chuàng)建新服務(wù)。”
這類似于現(xiàn)在的智能手機開發(fā)人員使用的方法,廣泛的獨立開發(fā)人員使用開放API來構(gòu)建新的應(yīng)用程序,讓我們可以獲取從憤怒的小鳥到Twitter等應(yīng)用程序。這還讓我們無需對網(wǎng)絡(luò)基礎(chǔ)設(shè)施和管理系統(tǒng)做出根本性的改變,而推出新的服務(wù)。
最終,SDN可以減少網(wǎng)絡(luò)管理員的很多枯燥無味的工作。不同的SDN可能會有不同的自動化水平,但最終的結(jié)果都是實現(xiàn)更具適應(yīng)性和響應(yīng)性的網(wǎng)絡(luò)環(huán)境,以更好地適應(yīng)21世紀環(huán)境的動態(tài)工作負載。
但這個旅程才剛剛開始,我們還沒有完全清楚所面臨的挑戰(zhàn)。很有可能的是,理想的自動化抽象網(wǎng)絡(luò)將會是一個難以實現(xiàn)的目標(biāo)。