周晨曦,張弛,王升杰,郭駿,宮帥
(1.南京南瑞信息通信科技有限公司,南京 210037;2.國網安徽省電力有限公司信息通信分公司,合肥 230061)
電力行業(yè)采用單云多Region技術領先,架構復雜,全網聯(lián)動[1],對后續(xù)整體云平臺管控運維工作提出了新的挑戰(zhàn)。云平臺的技術領先對于運維人員的技術深度提出了更高的要求[2],單云多region技術領先,短時期內需要大量的運維人員技術支撐,來確保運維團隊的技術深度[3]。用戶長期的基于云平臺的技術支撐能力沉淀。運維支持團隊包括總部側及網省側,較為分散,很難形成統(tǒng)一有效的知識技術體系。影響有效解決運維過程中的問題[4]。
基于云平臺架構的復雜度給平臺穩(wěn)定性帶來的挑戰(zhàn)[5],主要表現(xiàn)在以下幾個方面。日常運維過程中,峰值訪問期,將對中心管控節(jié)點造成壓力。中心管控節(jié)點癱瘓后,將直接影響中心化產品及混合部署產品在全網的使用[6]。中心節(jié)點及各個單元節(jié)點擴容時,對中心管控節(jié)點也有所影響,云產品擴容前,需要針對中心管控節(jié)點的現(xiàn)有負載進行評估[7]。
云產品版本的統(tǒng)一性及一致性的挑戰(zhàn),根據(jù)一朵云特性[8],要求全網部署云產品保持相同產品版本。產品版本正偏離或逆偏離的偏差,都將有幾率影響該云產品全網平臺使用的穩(wěn)定性。
中心節(jié)點與單元節(jié)點的平臺穩(wěn)定性運維責任劃分的挑戰(zhàn)[9],全網一朵云,產品部署形態(tài)復雜,運維責任方眾多,導致日常工作中,總部與網省的工作協(xié)同需要大量溝通,應制定統(tǒng)一聯(lián)動的運維服務管理流程,做到權責利明確劃分。
一云多Region架構下云平臺運維的應對,面對已知的運維復雜度和挑戰(zhàn)[10],提升云平臺和數(shù)據(jù)中臺一體化運維效率和整體運行穩(wěn)定性,建立有效的總部/網省聯(lián)動的一體化運維機制勢在必行。
云平臺一體化運維體系設計需要結合云平臺的技術架構,云平臺技術架構主要采用一云多re?gion架構。一朵云多區(qū)域(Region)的架構設計是為了滿足多區(qū)域部署一朵專有云的需求,在架構設計上分為中心Region和普通Region。一朵云多Region架構如圖1所示。
圖1 一朵云多Region架構
一朵云,提供統(tǒng)一管控,統(tǒng)一運維,以及統(tǒng)一監(jiān)控的能力。一致性,與阿里公共云的架構保持一致。
可用性,故障域隔離,當中心Region出現(xiàn)故障時,不影響云平臺已申請云實例資源的使用。當普通Region出現(xiàn)問題的情況下,不影響其他Region的使用。云平臺提供一套自動化數(shù)據(jù)中心管理系統(tǒng),管理數(shù)據(jù)中心的硬件生命周期與各類靜態(tài)資源,為各種云產品應用及服務提供通用的版本管理、部署、熱升級方案。每個Region部署一套管理服務,管理服務會同步中心Region的服務變量,以供普通Region上的產品或者服務引用。
依托國網云平臺,復用已有組件能力,構建邏輯集中、物理分散、動態(tài)分配、統(tǒng)籌利用的研發(fā)仿真環(huán)境,并實現(xiàn)與生產環(huán)境自動化部署。在現(xiàn)有云平臺劃出部分空間構建開發(fā)集成環(huán)境、仿真環(huán)境,因為與生產環(huán)境共用云和數(shù)據(jù)中臺底座,可以直接使用云和數(shù)據(jù)中臺的技術組件,但每個環(huán)境單獨生成自己獨立的實例,網絡上與生產環(huán)境相互隔離避免干擾。從資源使用角度看,測試環(huán)境的節(jié)點消耗與生產環(huán)境消耗比例為1∶8左右,一體化DevOps架構圖如圖2所示。
圖2 一體化DevOps架構
在現(xiàn)有云平臺資源中構建開發(fā)集成環(huán)境、仿真環(huán)境,生產環(huán)境。開發(fā)集成環(huán)境供開發(fā)團隊開發(fā)及單元測試、接口測試、自動化聯(lián)調測試;仿真環(huán)境支撐第三方測試、網絡安全仿真驗證(靶場)、基層用戶體驗管控測試及用戶仿真培訓;研發(fā)集成環(huán)境及仿真環(huán)境與生產環(huán)境進行安全隔離。一體化研發(fā)管控平臺對項目開發(fā)提供靈活的接入支撐方式和協(xié)作模式,支持人員集中式開發(fā)、異地分布式協(xié)同開發(fā)、現(xiàn)場駐場開發(fā)等項目組織模式。
對專有云的VPC進行自行定義劃分,每個VPC都有一個路由器、至少一個私網網段和至少一個交換機組成??勺孕羞x擇IP地址范圍、配置路由表和網關等。
在專有云劃分出部分資源進行開發(fā)仿真環(huán)境建設,同時為了保障生產系統(tǒng)的安全,給開發(fā)仿真環(huán)境劃分一個專用的VPC,將所有的研發(fā)仿真資源放入該專用VPC中。這樣可以通過對VPC的路由設置,隔斷開發(fā)仿真環(huán)境與生產環(huán)境的網絡訪問,VPC劃分架構如圖3所示。
圖3 VPC劃分架構
劃分出VPC后,可以將專有網絡連接到研發(fā)測試團隊所在本地網絡,形成一個按需定制的網絡環(huán)境,實現(xiàn)各地開發(fā)人員對網上統(tǒng)一開發(fā)集成環(huán)境的遠程訪問。
云計算平臺內部具有大量的計算節(jié)點,可以將整個云計算平臺抽象為一個連接了所有計算機的無阻塞大型交換機。這個大型交換機的入口端口對應于服務器的出口鏈路,而出口端口則對應于服務器的入口鏈路。通過這種抽象,該模型的優(yōu)勢在于只需要考慮入口端口和出口端口,便于對Coflow流量的調度進行分析,且在簡單且全平分帶寬拓撲結構下具有很高的實用性。E-Aalo資源調度架構如圖4所示,主要包括全局協(xié)調器和本地守護進程兩個部分。
圖4 E-Aalo資源調度架構
資源調度架構包括全局協(xié)調器和本地守護進程,其中全局協(xié)調器負責監(jiān)測每個作業(yè)是否產生通信數(shù)據(jù)流,對產生通信數(shù)據(jù)流的作業(yè)利用流量放置策略,選擇合適的計算節(jié)點處理每個通信數(shù)據(jù)流中的流量并生成對應的策略,接著通知發(fā)送節(jié)點將通信數(shù)據(jù)流中的流量從送發(fā)送到選擇的接收節(jié)點。另外,全局協(xié)調器還接收發(fā)送節(jié)點發(fā)送來的每個通信數(shù)據(jù)流已發(fā)送的數(shù)據(jù)流相關的參數(shù),根據(jù)這些參數(shù)確定不同通信數(shù)據(jù)流的優(yōu)先級并發(fā)送給本地的守護進程。本地守護進程用來接收全局協(xié)調器發(fā)送來的通信數(shù)據(jù)流優(yōu)先級信息,然后在本地的多級隊列中對通信數(shù)據(jù)流進行調度。
云計算平臺將各類任務分成多個子任務進行處理,每個子任務將被分派放置到不同的主機上執(zhí)行,相應的數(shù)據(jù)也被傳輸?shù)綀?zhí)行任務的主機節(jié)點上,帶來更多的數(shù)據(jù)流量傳輸,也導致更大的開銷。若該主機上原本就存在相應的數(shù)據(jù),就可避免額外的數(shù)據(jù)傳輸開銷,通過對通信數(shù)據(jù)流中的流量進行不同的放置可對子任務在不同的主機上進行分配,合理的分配也將會減少數(shù)據(jù)的傳輸量,降低時間開銷,提高云數(shù)據(jù)中心的性能,具體云計算平臺流量放置調度如算法1所示。
算法1云計算平臺流量放置調度
輸入:集合Q1,…,Qk對應Cn的k個數(shù)據(jù)流
輸出:Cn的放置方案M1,…,Mk對應的k個數(shù)據(jù)量的放置方案
1:for all i from 1 to k do
2:for all j from 1 to m do
4: Qi.push(j)
5: end
6: end
7:end
8:for all i from 1 to k do
9:for all j in Qido
10: Mi←arg minj(Accutj)
11:end
12:end
13:return M1,…,Mk
其中,m表示m個待選擇的任務分配計算節(jié)點;前七行代碼對通信數(shù)據(jù)流C n中的每個數(shù)據(jù)流f in篩選出潛在的可以直接執(zhí)行該任務的計算節(jié)點;后面代碼則從每個數(shù)據(jù)流f in的潛在可選節(jié)點中選出網絡負載最小的計算節(jié)點。
為驗證云平臺一體化框架模型的合理性和有效性,選取故障處理調度、資源調度效率兩個場景進行實驗驗證。
本文選取普通事件處理作為應用場景,保障云平臺團隊對事件快速高效的響應、診斷、定位制定了包括資源分配調度對應的事件管理流程。確保快速高效的解決事件問題,最大限度地減少對專有云平臺及云平臺業(yè)務的影響,提高整體的服務質量。制定的了事件管理的相應流程。具體處理流程如圖5所示。
圖5 云平臺事件流程
詳細流程操作如下:服務臺接口人負責發(fā)起事件處理請求、在工單系統(tǒng)中提交事件、參照產品布署形態(tài)及省份,分派網省側工單、關閉此次事件處理流程;網省側技術工程師1線負責日常監(jiān)控/巡檢,向服務臺發(fā)起普通事件處理請求、針對配置類事件,觸發(fā)網省側技術工程師1線普通事件處理流程、參照產品布署形態(tài)及省份,將工單系統(tǒng)中的需求工單分派到網省側工單;總部需求接口人負責需求類事件,觸發(fā)需求處理流程;總部技術工程師2線負責BUG類事件觸發(fā)BUG處理流程;總部版本接口人負責在有a-one號和工單號的前提下,啟動版本處理流程、收到版本經理匯總的出包信息后,觸發(fā)版本處理流程依照配置方案進行配置更改操作。
E-Aalo調度主要包括通信數(shù)據(jù)流流量放置和在端口閑置時提前調度低優(yōu)先級隊列流量,所以設置的實驗主要包E-Aalo方法和其他通信數(shù)據(jù)流調度方法的完成時間對比。實驗數(shù)據(jù)選取阿里云公開數(shù)據(jù)集進行測試驗證,實驗結果如圖6所示。
圖6 不同調度算法的完成時間
通過不同的通信數(shù)據(jù)流調度方法得到的平均完成時間對比可以得出,Varys調度完數(shù)據(jù)集中1000個通信數(shù)據(jù)流之后,平均完成時間為38929.05 ms,是所有對比方法中效率最優(yōu)的方法,其算法將Aalo中多級隊列調度中的閑置空間加以利用,從而降低平均完成時間。
本文設計一種適應電力行業(yè)的云平臺一體化開發(fā)和資源調度框架,設計了開發(fā)一體化架構,給出了網絡和資源分配方法,結合云平臺框架設計了通信流量資源調度算法,通過實驗驗證了模型方法額可行性和有效性,下一步將繼續(xù)優(yōu)化完善云平臺一體化運維體系,提升云平臺運維效率。