OPS(Open Programmability System)即爲開(kāi)放(fàng)可編程系統,即指設備通過提供統一(yī)的應用程序接口API(Application Programming Interface)來開(kāi)放(fàng)系統,使得系統具備可編程能力,可以運行第三方應用程序。
與傳統網絡設備有限的功能與固有的服務相比,開(kāi)放(fàng)可編程的系統能提供多層次的設備網絡業務開(kāi)放(fàng)性,可以滿足用戶多樣化、差異化的需求,便于迅速地實現業務功能擴展、自動部署和設備的智能化管理,降低運維成本和操作的複雜(zá)度。
爲什麽需要OPS
網絡的快速發展衍生(shēng)出了對網絡設備的新需求,但傳統的網絡設備隻能提供有限的功能和已知(zhī)的服務,這極大(dà)限制了網絡業務的部署與管理,網絡業務正面臨着諸多挑戰:
01.業務周期長,部署成本高
傳統方式下(xià),用戶部署新業務時,交付周期常以年、月爲單位,需要開(kāi)發時間長,業務部署成本高。
02.技術多而難,設備多而雜(zá)
當前網絡設備技術複雜(zá)度高且技術繁多,同時設備商(shāng)衆多,接口标準不一(yī),使得第三方應用開(kāi)發成本高,客戶運維成本提高。
03.故障定位慢(màn),響應速度快
應用網絡環境複雜(zá)多變,無法提前預料所有故障,在沒有開(kāi)放(fàng)系統的支持下(xià),對各種故障的定位及處理無法形成有效手段。
04.網絡較封閉,互動程度低
當前網絡是封閉的,網絡與應用相割裂,二者之間不會産生(shēng)互動,而是通過“管理員(yuán)”(即各種協議和工(gōng)具)來協調。而這樣的多層操作,不但會降低業務部署效率和響應時間,也增加了業務部署成本。
在社會快速發展、技術日新月異的大(dà)趨勢下(xià),網絡需要能夠迎接創新并且擁抱創新。
爲解決當下(xià)網絡管理負擔重,業務部署成本高的難題,同時根據不同用戶對網絡開(kāi)放(fàng)性的差異需求,華爲公司推出了OPS。借助OPS,用戶可以利用系統開(kāi)放(fàng)的RESTful API,開(kāi)發和部署自己的網絡管理策略,從而迅速實現業務功能的擴展、自動部署和設備的智能化管理,降低運維成本和操作的複雜(zá)度。
目前OPS提供的開(kāi)放(fàng)接口還在持續擴充,随着開(kāi)放(fàng)接口的逐漸增多,未來大(dà)部分(fēn)的定制化需求都可以通過Python腳本利用已開(kāi)放(fàng)的接口進行實現。
傳統業務模式 vs OPS下(xià)的新業務模式
如何實現OPS
系統架構
通過OPS功能,用戶可以利用系統開(kāi)放(fàng)的API制作腳本文件(目前僅支持Python),即可實現自定義的功能。
OPS架構包含三層:應用呈現層、通信通道層、網絡設備層。應用呈現層主要面向程序員(yuán),由應用程序中(zhōng)使用的RestFul API接口組成,這些接口用于各種網絡應用的處理。通信通道層提供了一(yī)種快速、安全可擴展的應用程序和網絡設備之間的通道。網絡設備層對底層設備進行抽象,克服不同平台之間的差異,提供統一(yī)訪問網絡設備内部資(zī)源的功能。
OPS架構圖
業務邏輯
OPS采用事件驅動模型,通過事件訂閱器監測設備的關鍵事件,然後通過動作執行模塊對監測到的事件做出相應的動作。用戶可以定義需要監測的事件,如輸入的命令行、網絡中(zhōng)的路由變更、設備産生(shēng)的日志(zhì)和告警等。一(yī)旦檢測到事件,OPS模塊将執行相應的動作,實現用戶自定義的功能。
OPS功能基于OPS API實現。監測的事件和執行的動作可以使用Python腳本根據設備支持的OPS API進行定義。
ops實現邏輯
ops的優勢
OPS把“簡單”給予了網絡應用開(kāi)發者,提供了多層次的網絡開(kāi)放(fàng),重新定義了網絡和業務行爲,使得業務部署效率提升,市場響應事件縮短,而且讓客戶網絡集成更加敏捷,操作維護更加簡化。
ops的優勢
01.多層次開(kāi)放(fàng)
針對應用呈現層、通信通道層、網絡設備層的不同用戶,OPS均爲其提供了可編程能力,用戶可以借助相應的API進行自定義的管理策略部署。
02.支持多種編程語言
OPS支持運行的應用程序腳本類型,在系統中(zhōng)繼承了相應類型腳本的運行環境。目前OPPS已支持Python腳本的加載,後續還會擴展Java\C及C++腳本。
03.完善的安全機制
OPS的API安全、運行安全、程序部署安全、重要信息安全機制爲用戶業務部署了最全面的保障。
- API安全:支持用戶認證,通過認證的用戶才能對OPS進行操作;基于角色權限認證授權。
- 運行安全:模塊化設計,實現資(zī)源隔離(lí),同時可以監控資(zī)源使用情況。
- 程序部署安全:使用第三方資(zī)源管理包,對程序部署授權進行管理。
- 重要信息安全:OPS API使用安全的通訊協議,确保傳輸過程中(zhōng)信息不洩露,但是用戶需要自己保證本地操作和保存重要信息的安全。
OPS的典型應用場景
場景一(yī):設備巡檢
通常情況下(xià),對設備的健康狀态進行檢查時,用戶需要登錄設備并執行多條命令行,以查看設備的硬件、業務運行狀态。通過OPS功能,用戶可以進行自定義策略部署,設備可以自動執行這些狀态檢查命令,定時收集執行結果并将其發送至服務器供分(fēn)析,減少維護工(gōng)作量。
設備巡檢
場景二:ZTP自動部署
ZTP(Zero Touch Provisioning)可以通過調用OPS腳本來實現設備空配置啓動時的業務自動部署。設備空配置上電時,需要通過DHCP服務器獲取腳本文件服務器的地址,從腳本文件服務器獲取Python腳本文件并運行。通過OPS功能,運行Python腳本文件,從服務器上下(xià)載系統軟件和配置文件,重啓後完成自動部署。
通過OPS實現空配置設備自動部署
場景三:故障處理
用戶通過訂閱系統開(kāi)放(fàng)的設備管理事件,感知(zhī)單闆狀态的變化,并在單闆故障時可以通過自定義執行動作來記錄設備的運營狀态,執行故障處理操作。
場景四:智能診斷與智能配置
通過Python腳本,OPS還可以用來實現智能診斷和智能配置功能。