譯者:李睿
大多數IT主管可能都熟悉DevOps和DevSecOps這兩個概念。然而,NetDevOps這個新模式引起了很多人的關注,尤其與網絡專業人士特別相關。
與其他新興技術一樣,NetDevOps的定義因提供者而異。但在基本層面上,該術語指的是DevOps原則在計算機網絡中的應用。
Gartner公司負責網絡業務研究的副總裁Andrew Lerner說,“NetDevOps是一個非常熱門的話題。但第一個問題是先要了解它是什麼,因為有不同的定義和看法。”
1.什麼是NetDevOps?
根據Gartner公司的定義,NetDevOps是需要將持續集成/持續部署(CI/CD)的DevOps概念應用於網絡活動。Lerner說,用於描述該模式的其他術語包括NetOps 2.0、網絡即代碼和GitOps網絡。研究機構GigaOm公司表示,NetDevOps將網絡基礎設施的抽象、編碼和實施作為代碼(IaC),使用編程的自動化工作流程來消除配置漂移,從而在網絡中嵌入質量和彈性。Lerner表示,為了利用NetDevOps,企業需要有一個自動化的管道,包括分段、前/後驗證和網絡活動的測試,例如配置。 GigaOm對此表示認同,並補充說NetDevOps管道可以將來自不同開發環境的代碼交付到生產環境中,並在這一過程中觸發全面的驗證和合規性測試。 該公司表示,NetDevOps還包括持續監控、測量和響應,在檢測到配置偏離所需狀態時自動觸發修復警報。
2.NetDevOps有什麼好處?
鑑於其DevOps根源,NetDevOps有許多相同的目標是有道理的。獨立網絡自動化架構師Joel King說,“DevOps有四個原則:整體系統思維方法(查看整個系統,而不僅僅是某一部分)、沒有組織孤島、快速反饋,以及減少工作量的自動化。”King指出,網絡運營一直落後於支持企業IT基礎設施的其他功能領域,尤其是在通過網絡可編程性實現自動化方面。 King說,“要部署支持企業的新應用程序或服務,計算、存儲和網絡組件都需要更改配置或採用新硬件。這些更改通常是由工程師在終端窗口上人工鍵入完成的,並且可能需要通過正式的更改控制流程進行審查,並在非工作時間發生的時間段內實施。”
King說,可能需要數週或數月的時間來影響支持應用程序需求所需的基礎設施變更。他說,“自動化基礎設施變更是減少部署新應用程序或服務所需時間以滿足業務需求的一個基本組件。”Lerner說,“NetDevOps有助於提高敏捷性,對於實施基礎設施即代碼的企業尤其有價值,因為網絡通常是一個瓶頸。NetDevOps實踐推動了清晰的工作流程和文檔,這有助於審計、治理和故障排除。” NetDevOps的另一個好處是它可以在IT內的各個部門之間實現更大的協作,就像DevOps對開發和運營所做的那樣。 軟件開發商GS Lab公司的首席架構師Sameer Mahajan說,“NetDevOps在網絡開發團隊和運營團隊之間架起了一座橋樑,這兩個團隊有不同的職責。開發團隊負責代碼開發和測試,而運營團隊負責環境、IT架構、部署、可用性等。”
Mahajan表示,傳統上,在將開發中的代碼投入生產時,會涉及多次切換。他說,“導致軟件質量問題、延遲和團隊成員的挫折感。NetDevOps通過自動化這個過程並使其無縫化來解決這些問題。它提高了部署網絡更改的效率,並減少了錯誤。” Mahajan指出,NetDevOps至少有七個主要用例,其中包括設備配置、數據收集和遙測、合規性檢查、遷移、報告、故障排除和配置管理。
3.NetDevOps部署的障礙是什麼?
迄今為止,NetDevOps尚未得到廣泛實施。Lerner說,“我們估計,目前只有2%到10%的企業積極使用NetDevOps實踐。”企業需要解決部署NetDevOps的許多障礙:
風險規避:“數據中心中斷的影響是巨大的。因此,網絡團隊不願承擔風險,對自動化數據中心網絡缺乏信心。NetDevOps實踐需要準確存儲最新的網絡信息庫存、位置等,這在許多企業中並不常見。”
技術債務:“從單一供應商和配置的角度來看,異構環境形式的技術債務是另一個障礙。當然,與網絡活動相關的不一致或未記錄的工作流程限制了採用。”
技能短缺:“我們建議通過將招聘和培訓重點轉移到特定軟件能力上來投資人員,包括Ansible和Python、社區論壇以及與相鄰DevOps人員溝通交流的網絡團隊。”
文檔:“NetDevOps實踐需要準確的最新網絡信息存儲庫,這在許多企業中並不常見。”
文化:對於許多企業來說,採用這些原則代表著一種重大的文化轉變。他表示,文化中缺乏信任、自上而下管理,並實施嚴格的變更控制的企業可能在實施NetDevOps時遇到問題。
4.如何開始使用NetDevOps
實施NetDevOps完全與流程、組織和培訓有關,而不是技術。King說。“對員工進行技能評估是必要的第一步。許多網絡工程師沒有時間、興趣或能力成為網絡程序員。然而,一些網絡工程團隊可能會發現學習編程技能是一項新挑戰,而提供學習機會將使團隊受益。”
King說,創建主題專家(SME)可以與程序員協作的一個團隊結構是一種很好的方法。此外,企業可以創建卓越中心來展示由中小企業和程序員組成的集成團隊的工作方式,然後將這種團隊方法應用並複製到IT運營的其他領域。 Lerner表示,除了投資培訓之外,準備進入NetDevOps的企業還應該為員工提供足夠的時間來獲得新的流程和工具。
“將網絡團隊與敏捷團隊和DevOps團隊進行交叉培訓。”他補充說,網絡團隊需要在版本控制系統中捕獲和存儲設備配置和運行網絡狀態(例如活動路由表)。 為設備類型創建標準模板、應用版本控制、跟蹤配置偏差以及儘可能使用自動化也是一種很好的做法。 他補充說,“需要實現變更前和變更後的驗證自動化,環境前和環境後測試也要實現自動化(例如延遲/可用性檢查),並且測試和配置回滾也實現自動化。”Mahajan說,歸根結底,這要創造一種支持NetDevOps的新文化。他說,“企業應該轉變為以自動化方式進行小規模而頻繁的改變的思維方式。微小的變化降低了風險。頻繁的更改有助於使環境保持最新狀態。而自動化模式減少了人工干預,減少了出錯的可能性。”
5.如何在通往NetDevOps的道路上保持成功
啟動NetDevOps計劃是一回事,但要長期保持成功也需要持續努力。
King說,“維護NetDevOps戰略需要管理層在時間、培訓和組織結構方面進行培養和投資,以實現成功。這些變化是長期投資。”King表示,讓團隊能夠在早期取得一些小的成功非常重要。他說:“從節約成本、提高員工滿意度、更快地向利益相關者提供價值並使其對管理層可見等方面,獲取這些成功的指標至關重要。”King說,投資於團隊的持續學習和實驗以擴展他們的能力也很重要。他說,“為員工提供改進工作或創新的時間,並調整現有流程以納入這些創新。”
6.如何衡量NetDevOps的成功?
Mahajan說,“成功的衡量標準是網絡更長的正常運行時間、更少的錯誤以及在最新版本的更改上維護環境。”使用NetDevOps時,企業不必孤軍奮戰。Lerner表示,雖然這更像是一個流程,而不是商業供應商的產品,但有些供應商可以幫助企業在其組織內啟用NetDevOps。其中包括Network to Code、Itential、HashiCorp、Arista等,它們提供基礎設施即代碼和其他網絡自動化功能。GigaOm表示,預計未來幾個月市場將迅速發展。他說,“新的參與者將憑藉精益、創新的解決方案脫穎而出,而成熟的網絡供應商將通過收購解決方案供應商和擴大關鍵合作伙伴關係進行競爭。” 隨著不同的NetDevOps供應商和可用選項以及環境的演變,選擇最佳NetDevOps工具將取決於企業的用例、現有軟件基礎設施、架構選擇和內部能力。
對於希望實現自動化並加速向數字化運營轉變的企業來說,許多企業可能會將NetDevOps作為努力提高網絡性能和可靠性的工作重點。