自動(dòng)化還有待深入和規(guī)范
2020年NetDevOps調(diào)查報(bào)告已經(jīng)正式出爐。這項(xiàng)調(diào)查已經(jīng)連續(xù)進(jìn)行三屆,100%由社區(qū)推動(dòng),而且堅(jiān)定不移地關(guān)注網(wǎng)絡(luò)自動(dòng)化社區(qū)。這項(xiàng)調(diào)查反映出網(wǎng)絡(luò)運(yùn)營(yíng)商及網(wǎng)絡(luò)工程師如何運(yùn)用自動(dòng)化技術(shù)完成日常工作,但從結(jié)果可以看到,這方面嘗試普遍沒(méi)能得到管理層的支持、也缺乏自上而下的自動(dòng)化策略引導(dǎo)。紅帽公司的Ansible產(chǎn)品經(jīng)理Andrius Benokraitis認(rèn)為,網(wǎng)絡(luò)自動(dòng)化發(fā)展、特別是網(wǎng)絡(luò)自動(dòng)化的商業(yè)應(yīng)用仍主要依靠從業(yè)者們的個(gè)人熱情。
在本文中,我們將挖掘調(diào)查報(bào)告中的一些要點(diǎn),看看網(wǎng)絡(luò)自動(dòng)化領(lǐng)域有哪些新的發(fā)現(xiàn)。
第一,Ansible仍是客觀層面的標(biāo)準(zhǔn)網(wǎng)絡(luò)自動(dòng)化語(yǔ)言。
對(duì)于初學(xué)者們來(lái)說(shuō),Ansible大大降低了網(wǎng)絡(luò)自動(dòng)化門檻、同時(shí)也帶來(lái)了通往更高級(jí)DevOps工作流程與CI/CD的集成網(wǎng)關(guān)。
Ansible的建立初衷是為了解決在大型分布式團(tuán)隊(duì)當(dāng)中使用Python編寫代碼的入門門檻太高問(wèn)題。有些人可能會(huì)說(shuō),“但Ansible太慢了,還是Python好!”沒(méi)錯(cuò),完全正確。不過(guò)Ansible本身其實(shí)就是以Python編寫而成的應(yīng)用程序,旨在將程序設(shè)計(jì)中的復(fù)雜性抽象出來(lái),借此降低開(kāi)發(fā)難度。任何項(xiàng)目設(shè)計(jì)總有權(quán)衡取舍,而我們認(rèn)為要想讓大規(guī)模團(tuán)隊(duì)真正有能力自動(dòng)化操作不同端點(diǎn),包括網(wǎng)絡(luò)、云、Windows、安全等,首先要求企業(yè)級(jí)自動(dòng)化解決方案有能力操作并覆蓋整個(gè)IT組織。而眾多企業(yè)之所以選擇Ansible語(yǔ)言,不僅是因?yàn)樗軌驅(qū)崿F(xiàn)網(wǎng)絡(luò)自動(dòng)化,同時(shí)也是因?yàn)榭梢酝ㄟ^(guò)紅帽Ansible自動(dòng)化平臺(tái)實(shí)現(xiàn)配置管理之外的多種其他功能。
總而言之,約90%的NetDevOps受訪者對(duì)Ansible的網(wǎng)絡(luò)自動(dòng)化能力表現(xiàn)出興趣,這一點(diǎn)確實(shí)令人印象深刻。
第二,自動(dòng)化本身在很大程度上仍是一項(xiàng)手動(dòng)操作,尚未成為完整流程的組成部分。
要靠手動(dòng)操作才能實(shí)現(xiàn)自動(dòng)化,聽(tīng)起來(lái)很矛盾,但這就是網(wǎng)絡(luò)自動(dòng)化社區(qū)的現(xiàn)狀。具體來(lái)講,超過(guò)80%的NetDevOps受訪者雖然使用自動(dòng)化機(jī)制推送配置,但88%的受訪者需要在事后通過(guò)命令行界面(CLI)反復(fù)做出臨時(shí)更改。約有60%的NetDevOps受訪者在網(wǎng)絡(luò)運(yùn)營(yíng)工作中的變更管理層面沒(méi)有用上任何自動(dòng)修復(fù)或驗(yàn)證功能。
從這個(gè)角度來(lái)看,運(yùn)營(yíng)人員只是在最粗淺的層面使用自動(dòng)化,還遠(yuǎn)沒(méi)有將其作為整體自動(dòng)化策略的固有元素。而在EMA調(diào)查中表示已經(jīng)建立自動(dòng)化策略的企業(yè)也證明,只有14%的受訪者能夠在特定網(wǎng)絡(luò)管理任務(wù)能夠單純依靠臨時(shí)手動(dòng)操作加響應(yīng)式自動(dòng)化方式完成運(yùn)營(yíng)工作。
第三,雖然沒(méi)有自上而下的支持或策略,個(gè)人仍在努力實(shí)現(xiàn)自動(dòng)化。
調(diào)查當(dāng)然能幫助我們快速把握用戶對(duì)自動(dòng)化技術(shù)的采用率,但要想確切了解現(xiàn)狀,我們必須了解受訪者職能角色、自動(dòng)化目標(biāo)、實(shí)施動(dòng)機(jī)以及可用資源。
好消息是,Ansible已經(jīng)成為社區(qū)與企業(yè)級(jí)網(wǎng)絡(luò)自動(dòng)化用例中的最佳選項(xiàng);但壞消息在于,高層領(lǐng)導(dǎo)與內(nèi)部自動(dòng)化策略對(duì)于長(zhǎng)期自動(dòng)化目標(biāo)的時(shí)間、資金乃至培訓(xùn)支持都相當(dāng)匱乏。NetDevOps調(diào)查報(bào)告顯示,大多數(shù)受訪者得不到必要的工具以適當(dāng)實(shí)現(xiàn)網(wǎng)絡(luò)自動(dòng)化,導(dǎo)致多數(shù)主動(dòng)網(wǎng)絡(luò)自動(dòng)化嘗試只能停留在個(gè)人行為階段。他們需要時(shí)間學(xué)習(xí)新知識(shí)、接受正式培訓(xùn)、獲取額外預(yù)算,并在組織內(nèi)獲得自上而下的正式策略指引。另一方面,EMA調(diào)查顯示83%的企業(yè)受訪者宣稱內(nèi)部已經(jīng)在面向現(xiàn)有員工提供某種形式或著力強(qiáng)調(diào)的培訓(xùn)內(nèi)容。這意味著企業(yè)其實(shí)對(duì)技術(shù)培養(yǎng)方面的長(zhǎng)期投入給予了認(rèn)可,希望幫助網(wǎng)絡(luò)工程師擺脫以往疲于奔命的“救火”式管理。
第四,網(wǎng)絡(luò)事實(shí)源、版本控制與CI/CD將成為新的趨勢(shì)。
結(jié)合企業(yè)網(wǎng)絡(luò)自動(dòng)化項(xiàng)目中的實(shí)際要求,NetDevOps調(diào)查圍繞網(wǎng)絡(luò)事實(shí)源添加了一組新的問(wèn)題。NetDevOps受訪者中,只有約35%擁有權(quán)威的事實(shí)來(lái)源。而結(jié)合EMA調(diào)查,我們發(fā)現(xiàn)企業(yè)網(wǎng)絡(luò)自動(dòng)化專家在同一問(wèn)題中表現(xiàn)截然不同——89%的受訪者表示他們擁有一個(gè)或多個(gè)針對(duì)不同類別信息的權(quán)威數(shù)據(jù)存儲(chǔ)庫(kù)。希望網(wǎng)絡(luò)事實(shí)這一概念能夠成為今后一切網(wǎng)絡(luò)自動(dòng)化環(huán)境中的重要組成部分。
這里,我們很高興看到版本控制能夠在網(wǎng)絡(luò)配置變更方面持續(xù)發(fā)揮重要作用,這也正是Ansible網(wǎng)絡(luò)工程團(tuán)隊(duì)在Ansible網(wǎng)絡(luò)資源模塊中采取的設(shè)計(jì)策略。Ansible網(wǎng)絡(luò)資源模塊高度契合網(wǎng)絡(luò)自動(dòng)化工程師們對(duì)于以代碼形式管理配置的期望。我們也期待著Ansible即將推出的BGP以及思科IOS、IOS XR、NX-OS、Juniper Junos、VyOS等靜態(tài)路由資源模塊。
目前,僅有不足7%的NetDevOps受訪者正在使用軟件認(rèn)證自動(dòng)化方案。這項(xiàng)工作在正式生產(chǎn)前的網(wǎng)絡(luò)變更測(cè)試與驗(yàn)證方面可謂至關(guān)重要,同時(shí)也是既定軟件工程原則(特別是CI/CD)的一部分。希望這個(gè)問(wèn)題能夠在不久的將來(lái)得到廣泛重視。
小結(jié)
無(wú)論企業(yè)的實(shí)際目標(biāo)是工作流程自動(dòng)化、還是建立起堅(jiān)實(shí)可靠的企業(yè)自動(dòng)化策略,網(wǎng)絡(luò)自動(dòng)化解決方案的組件清單中永遠(yuǎn)不會(huì)缺少Ansible的身影。Ansible社區(qū)的友好氛圍已經(jīng)讓它成為客觀層面的網(wǎng)絡(luò)自動(dòng)化語(yǔ)言。而在企業(yè)準(zhǔn)備運(yùn)行及擴(kuò)展Ansible用例時(shí),紅帽Ansible自動(dòng)化平臺(tái)已是公認(rèn)的市場(chǎng)領(lǐng)導(dǎo)者,這點(diǎn)不可否認(rèn)。

