OPS(Open Programmability System)即爲開(kāi)放(fàng)可編程系統,即指設備通過提供統一的應用(yòng)程序接口API(Application Programming Interface)來(lái)開(kāi)放(fàng)系統,使得系統具備可編程能(néng)力,可以運行第三方應用(yòng)程序。
與傳統網絡設備有限的功能(néng)與固有的服務相比,開(kāi)放(fàng)可編程的系統能(néng)提供多層次的設備網絡業務開(kāi)放(fàng)性,可以滿足用(yòng)戶多樣化、差異化的需求,便于迅速地實現(xiàn)業務功能(néng)擴展、自(zì)動部署和(hé)設備的智能(néng)化管理(lǐ),降低(dī)運維成本和(hé)操作(zuò)的複雜(zá)度。
爲什(shén)麽需要OPS
網絡的快(kuài)速發展衍生出了(le)對(duì)網絡設備的新需求,但(dàn)傳統的網絡設備隻能(néng)提供有限的功能(néng)和(hé)已知(zhī)的服務,這(zhè)極大(dà)限制了(le)網絡業務的部署與管理(lǐ),網絡業務正面臨着諸多挑戰:
01.業務周期長,部署成本高(gāo)
傳統方式下(xià),用(yòng)戶部署新業務時(shí),交付周期常以年、月爲單位,需要開(kāi)發時(shí)間長,業務部署成本高(gāo)。
02.技術多而難,設備多而雜(zá)
當前網絡設備技術複雜(zá)度高(gāo)且技術繁多,同時(shí)設備商衆多,接口标準不一,使得第三方應用(yòng)開(kāi)發成本高(gāo),客戶運維成本提高(gāo)。
03.故障定位慢,響應速度快(kuài)
應用(yòng)網絡環境複雜(zá)多變,無法提前預料所有故障,在沒有開(kāi)放(fàng)系統的支持下(xià),對(duì)各種故障的定位及處理(lǐ)無法形成有效手段。
04.網絡較封閉,互動程度低(dī)
當前網絡是封閉的,網絡與應用(yòng)相割裂,二者之間不會(huì)産生互動,而是通過“管理(lǐ)員”(即各種協議(yì)和(hé)工(gōng)具)來(lái)協調。而這(zhè)樣的多層操作(zuò),不但(dàn)會(huì)降低(dī)業務部署效率和(hé)響應時(shí)間,也(yě)增加了(le)業務部署成本。
在社會(huì)快(kuài)速發展、技術日新月異的大(dà)趨勢下(xià),網絡需要能(néng)夠迎接創新并且擁抱創新。
爲解決當下(xià)網絡管理(lǐ)負擔重,業務部署成本高(gāo)的難題,同時(shí)根據不同用(yòng)戶對(duì)網絡開(kāi)放(fàng)性的差異需求,華爲公司推出了(le)OPS。借助OPS,用(yòng)戶可以利用(yòng)系統開(kāi)放(fàng)的RESTful API,開(kāi)發和(hé)部署自(zì)己的網絡管理(lǐ)策略,從(cóng)而迅速實現(xiàn)業務功能(néng)的擴展、自(zì)動部署和(hé)設備的智能(néng)化管理(lǐ),降低(dī)運維成本和(hé)操作(zuò)的複雜(zá)度。
目前OPS提供的開(kāi)放(fàng)接口還在持續擴充,随着開(kāi)放(fàng)接口的逐漸增多,未來(lái)大(dà)部分的定制化需求都可以通過Python腳本利用(yòng)已開(kāi)放(fàng)的接口進行實現(xiàn)。
傳統業務模式 vs OPS下(xià)的新業務模式
如何實現(xiàn)OPS
通過OPS功能(néng),用(yòng)戶可以利用(yòng)系統開(kāi)放(fàng)的API制作(zuò)腳本文(wén)件(目前僅支持Python),即可實現(xiàn)自(zì)定義的功能(néng)。
OPS架構包含三層:應用(yòng)呈現(xiàn)層、通信通道(dào)層、網絡設備層。應用(yòng)呈現(xiàn)層主要面向程序員,由應用(yòng)程序中使用(yòng)的RestFul API接口組成,這(zhè)些(xiē)接口用(yòng)于各種網絡應用(yòng)的處理(lǐ)。通信通道(dào)層提供了(le)一種快(kuài)速、安全可擴展的應用(yòng)程序和(hé)網絡設備之間的通道(dào)。網絡設備層對(duì)底層設備進行抽象,克服不同平台之間的差異,提供統一訪問網絡設備内部資源的功能(néng)。

OPS架構圖
OPS采用(yòng)事(shì)件驅動模型,通過事(shì)件訂閱器監測設備的關鍵事(shì)件,然後通過動作(zuò)執行模塊對(duì)監測到(dào)的事(shì)件做出相應的動作(zuò)。用(yòng)戶可以定義需要監測的事(shì)件,如輸入的命令行、網絡中的路由變更、設備産生的日志和(hé)告警等。一旦檢測到(dào)事(shì)件,OPS模塊将執行相應的動作(zuò),實現(xiàn)用(yòng)戶自(zì)定義的功能(néng)。
OPS功能(néng)基于OPS API實現(xiàn)。監測的事(shì)件和(hé)執行的動作(zuò)可以使用(yòng)Python腳本根據設備支持的OPS API進行定義。

ops實現(xiàn)邏輯
ops的優勢
OPS把“簡單”給予了(le)網絡應用(yòng)開(kāi)發者,提供了(le)多層次的網絡開(kāi)放(fàng),重新定義了(le)網絡和(hé)業務行爲,使得業務部署效率提升,市場響應事(shì)件縮短,而且讓客戶網絡集成更加敏捷,操作(zuò)維護更加簡化。

ops的優勢
01.多層次開(kāi)放(fàng)
針對(duì)應用(yòng)呈現(xiàn)層、通信通道(dào)層、網絡設備層的不同用(yòng)戶,OPS均爲其提供了(le)可編程能(néng)力,用(yòng)戶可以借助相應的API進行自(zì)定義的管理(lǐ)策略部署。
02.支持多種編程語言
OPS支持運行的應用(yòng)程序腳本類型,在系統中繼承了(le)相應類型腳本的運行環境。目前OPPS已支持Python腳本的加載,後續還會(huì)擴展Java\C及C++腳本。
03.完善的安全機制
OPS的API安全、運行安全、程序部署安全、重要信息安全機制爲用(yòng)戶業務部署了(le)最全面的保障。
- API安全:支持用(yòng)戶認證,通過認證的用(yòng)戶才能(néng)對(duì)OPS進行操作(zuò);基于角色權限認證授權。
- 運行安全:模塊化設計(jì),實現(xiàn)資源隔離,同時(shí)可以監控資源使用(yòng)情況。
- 程序部署安全:使用(yòng)第三方資源管理(lǐ)包,對(duì)程序部署授權進行管理(lǐ)。
- 重要信息安全:OPS API使用(yòng)安全的通訊協議(yì),确保傳輸過程中信息不洩露,但(dàn)是用(yòng)戶需要自(zì)己保證本地操作(zuò)和(hé)保存重要信息的安全。
OPS的典型應用(yòng)場景
通常情況下(xià),對(duì)設備的健康狀态進行檢查時(shí),用(yòng)戶需要登錄設備并執行多條命令行,以查看(kàn)設備的硬件、業務運行狀态。通過OPS功能(néng),用(yòng)戶可以進行自(zì)定義策略部署,設備可以自(zì)動執行這(zhè)些(xiē)狀态檢查命令,定時(shí)收集執行結果并将其發送至服務器供分析,減少維護工(gōng)作(zuò)量。
設備巡檢
ZTP(Zero Touch Provisioning)可以通過調用(yòng)OPS腳本來(lái)實現(xiàn)設備空(kōng)配置啓動時(shí)的業務自(zì)動部署。設備空(kōng)配置上(shàng)電時(shí),需要通過DHCP服務器獲取腳本文(wén)件服務器的地址,從(cóng)腳本文(wén)件服務器獲取Python腳本文(wén)件并運行。通過OPS功能(néng),運行Python腳本文(wén)件,從(cóng)服務器上(shàng)下(xià)載系統軟件和(hé)配置文(wén)件,重啓後完成自(zì)動部署。
通過OPS實現(xiàn)空(kōng)配置設備自(zì)動部署
用(yòng)戶通過訂閱系統開(kāi)放(fàng)的設備管理(lǐ)事(shì)件,感知(zhī)單闆狀态的變化,并在單闆故障時(shí)可以通過自(zì)定義執行動作(zuò)來(lái)記錄設備的運營狀态,執行故障處理(lǐ)操作(zuò)。
場景四:智能(néng)診斷與智能(néng)配置
通過Python腳本,OPS還可以用(yòng)來(lái)實現(xiàn)智能(néng)診斷和(hé)智能(néng)配置功能(néng)。