陳慧光,李歡
(中國電信股份有限公司研究院,北京 102209)
在SDN/NFV技術時代,各大運營商都有各自的技術演進計劃,其中一個重要目標是通過新技術、新網絡體系實現新型網絡業務的快速自動開通,在業務層面提供客戶自主定義網絡業務的功能,在配置層面實現業務對應的網絡配置自動化、網絡資源按需指配。在業界的技術發展中,給負責實現業務層面自動配置功能的子系統命名為“編排器”。從2015年Linux基金會成立了針對編排器的開源項目Open-O開始,后續吸引了更多的運營商、設備廠商、芯片廠商加入,共同推動編排器的演進。
新一代網絡運營系統,是面向CTNet2025的全新架構業務實現系統,其軟件架構設計立足于當前網絡狀況,基于智能網管體系演進,整合現有運營支撐系統(operation support system,OSS)和網管系統,面向CTNet2025的目標網絡業務實現需求,形成統一的新一代網絡運營系統。該系統針對SDN/NFV網絡管理,同時包含了SDN/NFV體系架構中的編排與控制功能,是網絡軟件化的必要組成部分,其特征如下。
(1)一級架構、能力開放
打破現有系統的封閉性與煙囪式,采用一級架構,支持數據、網絡及面向客戶的能力開放。
(2)數據動態、分層解耦
實現全網動靜態數據統一管理,數據與應用解耦,數據可視,自主建模,自主管理。
(3)靈活編排、自動開通
實現網絡(原子)能力的靈活編排,支持端到端業務自動化開通和快速上線。
(4)虛實網絡、統一管理
實現對SDN、NFV網絡與業務的統一管理。
(5)閉環自動、大數據注智
實現網絡智能保障、網絡自愈及優化調整,先于用戶發現問題。
(6)核心掌控、研發運營一體化
以開源開放的設計理念,充分吸納業界所長,增強自主掌控力,開發態與運行態一體化建設。
本文基于新一代網絡運營系統的業務編排需求,提出了一種智能專線業務編排系統架構,通過開發和現網部署應用,驗證本文提出的方案基本滿足業務需求和運維管理需求。
在新一代網絡運營系統架構體系中,業務編排系統作為核心功能組件,決定業務能力和業務形態,為業務運營單位提供業務編排手段,決定業務編排操作難易度。對編排系統來說,業務是一系列相關事務,事務對應串行的配置動作,這些動作全部有序配置成功即完成一個業務功能,有一個配置動作沒有成功即視為業務配置失敗,其他配置動作全部回滾。從系統設計角度來說,編排器是對業務進行理解的“大腦”,真正被上層軟件定義的關鍵在編排這一層。整個運營系統的架構設計中,要求編排器和控制器嚴格按照業務模型和功能模型進行劃分,控制器不做業務層面的組織工作,只向編排器提供單純的、細顆粒度的網絡配置能力,有利于編排器根據業務需求進行靈活的業務功能編排,業務編排在系統架構中的位置如圖1所示。

圖1 業務編排在系統中的位置
業務編排承擔著業務設計、開發/實現、上線、開通、變更、關閉、下線整個生命周期的管理職責,在業務的生命周期中,編排器需要滿足業務的靈活設計與快速上線要求,為業務編排設計人員(通常為網絡運維人員)提供用戶友好的設計工具,滿足業務定義的直觀、準確、可測試等特性;業務編排將接收客戶訂購的請求,并將其分解為預定義的工作流程,在流程中通過調用已有的原子能力實現每一個步驟。例如其中涉及配置相關的步驟,需要調用與控制器相對應的原子能力,通過控制北向接口將配置指令下達控制器,并由控制器負責最終的執行。在業務開通流程中力求無人工參與,從而大幅縮短開通時限。
本文提出的智能專線業務編排系統,在設計時,除了滿足業務編排設計的基礎要求外,創新性地提出了如下設計方案。
(1)層次化的服務架構
創新性地提出面向層次化的服務架構,將功能型與業務型原子能力進行分層隔離,易于業務的靈活設計與加載。
(2)編排引擎優化控制
現有的通用流程引擎主要采用BPMN語言描述流程,功能完整但是很復雜,采用集中的邏輯控制,可擴展性差。本文提出的智能專線業務編排系統,針對通用流程引擎存在的問題,進行了可擴展性、易用性和魯棒性的優化。對編排引擎進行抽象和封裝,對外提供統一接口。內部流程引擎可更換,不影響其他組件。優化編排引擎建模,使其支持分支合并執行,并對原子能力出入參數進行統一的模型定義,簡化編排設計。面向商用要求實現錯誤重試和自動回滾功能, 保證工單執行失敗后數據的一致性和完整性。
(3)模型驅動,支持多廠商、多協議的靈活適配
在適配層統一了控制器的接口和數據模型,從而實現多廠商控制器的接口適配,同時支持協議轉換與模型轉換中的統一管理、出錯處理、回滾操作等。
按照各功能松耦合、靈活部署的特點,編排器系統架構分為3層,分別為業務入口層、網絡服務層和適配層。其中,業務入口層實現的功能包括提供工單型API,負責處理北向業務系統傳送的工單,匹配相應編排模板,控制、監控編排工作流執行。網絡服務層實現的功能包括網絡服務功能,按照原子功能顆粒度,構建多個配置下發與管理的微服務,各微服務彼此獨立,提供REST接口,供北向層按照特定次序調用;編排引擎功能,負責將網絡服務按照業務需求自動化執行與網絡服務能力調用。適配層實現的功能包括將網絡微服務層的抽象模型,適配到廠商的控制器或網管接口。編排器系統整體架構如圖2所示。

圖2 編排器系統整體架構
業務編排器設計的目標應包含如下3個方面。
? 快速上線:支持業務/網絡能力的快速組合、流程及業務的快速設計,從而實現業務快速加載與迭代。
? 自動開通:實現業務自動化的流轉、網絡能力的自動跟蹤與配置的自動下發。
? 智能運維:支持網絡從采集、分析、策略、配置下發的閉環自動化。
編排器北向層是業務入口。該層關注的是編排流程,即基于資源和業務配置的依賴關系,按照一定的時序和邏輯,將上游系統下發的業務需求(例如工單)對應的配置功能下發到底層云網系統。北向層是通過工單管理+工作流引擎方式實現,此方式是新一代運營系統中要實現的目標解決方案。其工作原理是將編排工作分為開發和運行兩態,開發態通過可視化手段構建編排流程和模板,運行態通過工單管理,將業務映射為開發態輸出的模板,實例化該流程模板后,由工作流引擎執行流程完成配置。以智能專線政企網關PON接入云專線場景為例,北向層實現的功能是將微服務層的能力組織起來形成業務,編排器業務入口層流程配置如圖3所示。

圖3 編排器業務入口層流程配置
編排器統一使用下一代運營系統的微服務框架構建,為了解決單體大應用迭代開發與升級部署遇到的困難,需要對應用進行解耦和切分,通過合理的設計將單體大應用劃分為多個微服務,有效提升軟件迭代研發的敏捷性,微服務的劃分原則可總結如下。
? 功能職責單一,一個微服務應該只負責一件事情。
? 功能內聚,如果多個功能都是面向同一種數據的操作,這些相關功能可以劃分在一個微服務中實現。
? 松耦合,功能分布在不同的微服務中,微服務之間原則上只能通過接口進行交互,不能有數據層共享。
? 獨立打包,快速部署,每一個微服務都可以單獨進行構建、發布、部署。
根據上述劃分原則,微服務層提供多個功能獨立、相互隔離的原子服務服務庫,服務庫成為業務入口層可視化編排的基礎。即編排引擎從服務庫讀取可用的服務并將其串聯,形成一個業務操作。智能專線編排器微服務層的原子能力服務庫如圖4所示。

圖4 編排器微服務層的原子能力服務庫
該層具有如下4個特征:
? 微服務架構,每個原子能力為一個微服務,由統一的微服務框架管理;
? 抽象建模,對每個原子化的功能,使用建模語言(YANG/Swagger)進行抽象建模,這種抽象面向通用業務能力,與具體廠商、設備無關;
? 接口REST化,微服務提供RESTful接口,供北向層調用,接口參數采用上述抽象建模;
? 按需擴展,每個微服務可以部署為單獨的集群,并可根據業務流量動態擴展。
適配層負責將微服務層所有功能模塊產生的抽象配置模型,轉換為具體廠商的接口模型,實現配置的落地下發。適配層實現的功能如下。
? 支持對從上述功能模塊接收配置請求,識別配置內容和設備型號,根據設備屬性,將配置分發到相應的控制器或設備。
? 能夠將抽象模型,映射為具體廠商的接口,廠商間模塊完全隔離,可平滑擴展。
? 南向適配支持RESTful、RESTconf、NETconf和CLI,傳輸協議支持Telnet、SSH、HTTP以及 HTTPS。
? 具備模型驅動功能,能夠將廠商提供的YANG、Swagger 建模文件導入,生成相關接口功能。
微服務層在需要給設備下發配置時,使用抽象模型。這個抽象模型在各個廠商的驅動模塊中,被適配為廠商需要的接口和模型。當微服務層調用驅動層的某個接口時,無論在請求體中攜帶特定的模型對象,抑或是在URL中包含query參數,總是包含dev_id。驅動層根據dev_id,找出目標設備的相關屬性(主要是 dev_vendor和dev_model),借此找到對應的驅動模塊,并調用對應接口。同時,部分廠商設備針對不同的設備(如交換機、路由器)也有不同的配置方法。針對設備的適配,在廠商驅動模塊內部實現。
北向接口統一按照異步工單模式設計,上游系統與編排器的調用關系見表1。

表1 上游系統和編排器的調用關系
編排器采用微服務架構,微服務之間的內部調用接口為面向資源的REST風格接口。接口調用路徑設計規則為:/服務名/版本/一級資源/二級資源等。接口方法和參數見表2。

表2 編排器接口調用方法和參數說明
編排器系統采用Python3語言、Tornado 異步框架和MySQL數據庫作為基礎框架實現。微服務框架采用SpringCloud,內部模型統一采用Swagger建模。通過Supervisor和Keepalived工具實現進程監控和熱備份管理。采用Ansible自動化部署工具進行部署。編排器軟件實現圖5所示。

圖5 編排器系統軟件實現
編排器工作流程包括業務準備流程和業務下發流程兩部分。編排器業務準備流程主要確保業務需要的資源,具體分為兩個方面,一是軟資源的預配置,主要包括IP地址池資源、虛擬局域網(virtual local area network,VLAN)資源、VNI分配規則、設備能力模板等資源的預配置,通常 通過管理員視圖或數據庫表錄入完成。二是硬件資源準備,通常是設備(包括VNF)的納管和信息同步。典型的交互流程如圖6所示。

圖6 編排器業務準備流程交互
流程說明如下。
(1)若業務涉及VNF網元,編排器北向層發起VNF請求。在準備流程啟動VNF是為了提前準備VNF資源,后續業務開通時無須再等待VNF實例化,減少業務等待時間。若不涉及VNF業務,則直接跳至(6)。
(2)微服務層進行資源核查,包括VNFM是否就位,計算節點是否就位。
(3)微服務層調用驅動層,進行VNF拉起請求。
(4)驅動層根據VNF請求對應的廠商/控制器進行分發,調用相應的具體驅動模塊請求VNFM做VNF實例化。
(5)微服務層啟動輪詢任務,對VNF的狀態進行輪詢,輪詢請求亦通過驅動層分發,調用廠商VNFM完成,微服務輪詢到確定結果(active或error)后,保存狀態,停止輪詢。
(6)VNF就位或仍有物理設備需要納管,北向發起設備控制器納管請求。
(7)微服務層保存設備信息,將設備狀態置為pending,而后向驅動層發起納管請求。
(8)驅動層根據設備廠商/型號以及控制器ID, 將請求分發至具體驅動模塊,調用廠商控制器進行設備(VNF或實體設備)納管。
(9)微服務層啟動輪詢任務,對設備的狀態進行輪詢。輪詢請求亦通過驅動層分發,調用廠商控制器完成,微服務輪詢到確定結果(active或error)后,保存狀態。
(10)若設備狀態為active,微服務向驅動層發起獲取設備接口請求,同樣經過驅動分發后,從控制器側讀出設備可用接口(主要是物理接口),作為后續業務下發基礎。
編排器業務下發流程由到達北向的工單觸發。每個工單根據其字段取值,可以對應一個執行流程。即北向層按照一定時序,發起配置請求,所有配置均使用抽象微服務實現。典型流程如圖7所示。

圖7 編排器業務下發流程交互
流程說明如下。
(1)工單到達北向層。北向層首先對工單的基本參數進行校驗(例如數據有效性、必選字段是否攜帶、是否與已有業務有沖突等)。若基本校驗通過,則向上游系統返回臨時應答(accepted)。
(2)北向層啟動后臺任務,開始按照工單的要求,執行編排。
(3)北向層請求下發第一個配置 (可能是圖4中微服務涉及的任何配置)。
(4)微服務層進行資源校驗(例如涉及的設備是否可用,剩余轉發能力是否足夠等),若缺少相應資源,可以在準備流程進行。
(5)微服務保存配置,向驅動層發出配置請求。
(6)驅動層根據設備設備廠商/型號以及控制器ID,將請求分發至具體驅動模塊,調用廠商控制器進行配置下發。
(7)微服務層收到驅動層返回的配置結果,更新配置數據狀態。
(8)北向持續下發配置請求,按步驟(2)~步驟(7)的過程重復執行,直到所有流程環節執行完畢(執行完畢,可包括正確執行完畢或中途出錯回滾完畢)。
(9)北向層向上游系統回單,報告訂單執行最終狀態。
智能專線產品是基于某運營商的隨選網絡,面向中小企業客戶提供的集上網、上云、智能服務于一體的云網融合型產品。網絡服務編排系統是實現智能專線業務快速開通、業務快速上線的核心模塊,負責overlay網絡端到端的業務自動化配置與開通,產品整體系統組成如 圖8所示。

圖8 智能專線產品整體系統組成
智能專線應用部署和實施包含集團8個系統和全國31省區市多個系統的部署、接口注冊、單接口聯調、端到端業務自動化配置與驗證。智能專線業務驗證目標是通過集團客戶關系管理(customer relationship management,CRM)系統下單完成智能專線測試環境的開通、變更、拆機業務的自動化配置。以開通為例,步驟如下。
(1)集團CRM發單。
(2)服務開通系統接收CRM單子,拆單分別進行underlay工單下發、云調工單下發、虛擬交換網關(virtual switch gateway,VSGW)間虛擬擴展局域網(virtual extensible local area network,VxLAN)配置下發、網關外線施工工單下發、A8C(政企網關)配置下發。
(3)省服務開通系統接收underlay工單。
(4)云調接收工單下發并進行正常回單。
(5)編排器接收VSGW間VxLAN配置下發工單并進行正常回單。
(6)集團服務開通系統下發外線施工單,ITMS+(增強型終端綜合管理系統)通過省服務開通系統(省EOP)新裝上報事件通知集團服開觸發A8C配置下發。
(7)編排器接收A8C配置下發工單。
(8)集團服務開通系統向ITMS+獲取網關IP地址并發起ping測試。
(9)集團服務開通系統向各系統發起報竣,政企CRM向網分交維客戶訂單信息,集團服務開通向網分交維電路開通資源信息。
(10)省服務維護界面通過網分接口查詢展示相關信息。
為了驗證本文提出的智能專線業務編排系統是否符合業務需求及系統靈活部署、業務快速上線標準,在配置成功的訂單中,隨機選取100個裝機訂單和100個拆機訂單,記錄裝機和拆機業務執行完成的時間,裝機訂單執行時間統計和拆機訂單執行時間統計分別見表3和表4。
從表3可以看出,一半左右的訂單在3天內完成,全部訂單在7天內完成。裝機耗時主要在省內外線施工階段,因為省內需要上門給客戶安裝設備,對于客戶地址不支持專線配置的區域,還要進行其他基礎設施建設,耗時無法避免。而3~7天的耗時,對于開通專線的企業來說,是可以滿足客戶需求的。從表4可以看出,拆機訂單一半以上可以在1天內完成專線拆機操作,大部分訂單可以在2天內完成拆機操作。從表3和表4可以看出,本文設計的智能專線業務編排系統,可以滿足業務快速上線的要求。

表3 裝機訂單執行時間統計

表4 拆機訂單執行時間統計
智能專線業務編排系統自2020年年初上線以來,一直穩定運行,截至2020年年底,累計完成2 699條專線的配置,訂單執行情況如圖9所示。其中,成功的訂單數為2 032條,占專線總數的75.3%,在途訂單數為536條,占專線總數的19.9%,異常訂單數為131條,占專線總數的4.8%。所以,本文設計的智能專線業務編排系統與周圍系統配合穩定,足以支撐31省區市的專線業務配置。

圖9 智能專線2020年訂單配置情況統計
本文提出的業務編排系統在架構設計上參考了國際標準最新進展及業界網絡運營系統的實踐,在框架搭建上參考了當前流行且比較穩定的開源框架,在研發實現、部署等組件選型上調研了多種開源組件,結合編排系統自身的特點,選定了適合業務編排的組件。通過面向工作流的編排引擎,將網絡服務層提供松耦合的各能力進行編排組合,形成業務能力。通過模板化的業務流程和統一的業務建模語言,規范研發實現,提高系統的可維護和可擴展能力。通過構建開發和運營的雙態系統,業務需求迅速轉化為系統能力,滿足不斷擴充業務場景,實現自身的迭代演進的需求。未來該系統將面向下一代網絡智能化融合發展的目標,在業務產品承載運行中根據需求持續優化,支持智能專線業務形態分步分階段的演進,并通過設計、現網驗證和持續演進優化相結合的方式,為新一代運營系統的設計提供實踐性的參考。