Juniper台灣區技術總監游源濱指出,Juniper提出的自適性臨界值(Adaptive Threshold)機制,可說是人工智慧應用在網路維運層面的典型案例。通常臨界值必須仰仗經驗豐富的工程師才得以精準定義,如今可改由人工智慧輔助,藉由演算法分析,學習正常存取行為的指標數值,比如頻寬、回應延遲時間等,綜合幾個關鍵指標觀察,一旦頻寬改變時,回應延遲時間會隨之增加,代表系統效能下降,機器學習即可自適性定義臨界值,並且主動調校。
前述的應用場景逐步擴大到多個領域,讓營運業務具備的自動化能力得以端到端建立協同運作,甚至可依據營運業務的需求,自主性地調配與維運,才足以成為人工智慧驅動的企業。
自動化設定與維運的實作法
傳統網路是手動輸入指令配置與維運,要讓特定應用場景建立自動化,製造商須提供NETCONF/YANG、JET API、OpenConfig、IaC(基礎架構即程式碼)生態鏈等能力。設備必須具有開放的介面與工具,例如交換器、路由器,透過NETCONF方式提供企業客製自動化流程,可事前撰寫Python腳本,或是整合Ansible提供的Playbook。
以前設定配置交換器要Telnet登入下指令,若內部部署的設備多達上百台,則難以手動逐一設定,可藉助開放介面與工具,藉由配置樣式範本,透過NETCONF派送,這種做法就已經達到基本的自動化。游源濱表示,Juniper持續積極地發展自動化的工具,例如十多年前提出Control Plane API,系統可透過NETCONF執行Telnet登入設定。
大約五年前提出標準YANG Model,就如同OpenConfig,讓異質技術平台的指令集得以標準化執行。例如設定VLAN,各家生產的設備有不同實作方法,可透過OpenConfig標準,轉換成Juniper的指令集。
現今已有許多IT人員懂得運用Python語言,透過NETCONF協定設定路由器。Juniper在韌體中已經內建了函式庫(Library),也就是Junos PyEZ,讓IT人員基於Python撰寫執行任務,例如設備連接埠的流量滿載時自動切換到另一台,用來處理此類日常維運經常發生的狀況,以確保網路連線不中斷。
Telemetry協定蒐集即時資料
前述這些Juniper既有已經提供的自動化機制,可透過腳本來提升設定與維運的效率,但若要更貼近即時性,則勢必要透視得更清楚。以往每300秒蒐集一次資料的控管模式已無法符合管理層面的需求,近年來網通市場主流的趨勢是採用Telemetry協定框架主動推送即時資料來增加能見度。
游源濱說明,傳統網管標準SNMP協定是等待輪詢時回應,Telemetry可在事前設定要監控的指標,主動地發送到指定位址,最短時間間隔可為10到100毫秒發送一次。只是如此一來,設備搭載的ASIC晶片必須要有能力支援,僅仰賴商用處理器勢必造成效能瓶頸,Juniper自主研發的ASIC晶片即可支援Telemetry協定。
資料中心經常會發生毫秒級爆量,特別在平行運算架構,大型企業多數有建立大數據分析,通常會由Master節點,指派任務給多台Slave節點執行運算,最後結果回報Master節點。以現階段的交換器能力,大致都可因應,但仍不免遇到指派任務與回報運算結果的時間皆一致,而出現多對一現象,造成Master接取的連接埠瞬間湧入流量造成效能瓶頸,使得封包被丟棄。像這類不到一秒時間的壅塞,網路層必須要有能力看到資料,才有能力排除問題。
「Juniper自主研發的ASIC晶片,讓每個連接埠可承載100毫秒的緩衝,藉由Telemetry即可蒐集取得資料。更即時地蒐集網路資料,目的是為了下一階段的分析監控做準備以掌握健康狀態,也就是Juniper推出的Contrail Healthbot,做網路健康狀態監控與分析,並且執行自動化處置。」游源濱說。
Healthbot自動化執行工作流程
若資料得以即時蒐集與分析,產生的數據準確度會隨之提升,則可進一步發展自動矯正(Self-Healing)工作流程的能力。游源濱舉例,當網路發生斷線,分析完成後發現問題根源在於設定,則可主動調整,或者是本來正常運行的環境突然斷線,系統會主動重新啟動,若仍無法排除,才觸發告警通知需要人力處置。
偵測到問題發生的初期,就如同工程師到場的標準作業流程,此後則可交給自動矯正機制先行處理。系統處理程序設計為閉合迴路(Closed-loop)自動化,也就是依據問題狀況判斷執行流程,之後觀察結果,再回到原本狀態選擇另一項執行流程,直到問題得到解決。 現階段Juniper正在增進分析與自動化執行工作流程的能力,朝向自主運行網路的目標前進。前述提到的Healthbot執行自動化流程即為今年發展主軸,設計的概念如同急診室檢傷分級,當病人送達時,必須運用各種檢查儀器取得狀態數值,並且在儀表板上顯示影響健康的指標,以判斷病情嚴重程度與採取的行動。
問題是各種類儀器產生的資料格式差異極大,勢必得仰賴工具協助彙整,經過正規化整理後,儲存到資料庫系統,才有能力進行分析與查看健康狀態指標。Healthbot的方式是運用機器學習網路連線行為與流量狀態的正常模型,當偵測到偏離時,判斷為異常狀況才會觸發告警。若網路環境多達上百台以上的設備, Healthbot便可發揮高度效益。
此外,HealthBot的閉合迴路自動化架構,首要必須先撰寫Playbook,定義監控指標、根源問題分析、日誌檔案分析,IT人員可善用HealthBot開放社群中其他成員的貢獻,或是專家建議的範本,下載後微調參數啟動運行,無需從頭開始撰寫。把重複性的操作交給機器人,讓IT人員日常工作得以更有效率。