劉帥
(中國電信股份有限公司山西分公司 山西省太原市 030001)
“十四五”規(guī)劃綱要提到:加快數(shù)字化發(fā)展 建設(shè)數(shù)字中國,以數(shù)字化轉(zhuǎn)型整體驅(qū)動生產(chǎn)方式、生活方式和治理方式變革。國家數(shù)字化轉(zhuǎn)型成為引領(lǐng)全面創(chuàng)新、構(gòu)筑國家競爭新優(yōu)勢的重要戰(zhàn)略,是我國從網(wǎng)絡(luò)大國邁向網(wǎng)絡(luò)強國的關(guān)鍵舉措。作為數(shù)字中國建設(shè)主力軍,中國電信牢牢把握歷史機遇,扎實推進“云改數(shù)轉(zhuǎn)”,充分發(fā)揮云網(wǎng)融合優(yōu)勢,服務(wù)各行業(yè)各領(lǐng)域數(shù)字化轉(zhuǎn)型,賦智千行百業(yè),培育壯大經(jīng)濟新動能,賦能高質(zhì)量發(fā)展。
在各類IT系統(tǒng)逐步上云的背景下,大量繁重的基礎(chǔ)運維工作仍采用手工方式開展,不僅工作效率較低,同時耗費維護人員的大量精力,導(dǎo)致在其他高價值運營工作中的投入不足。為了提升運維人員的工作價值,通過IT系統(tǒng)自動化運維平臺研發(fā)項目,自主研發(fā)自動化運維底層平臺,并自主研發(fā)和定制基礎(chǔ)運維腳本,同時探索平臺能力開發(fā),將基礎(chǔ)運維工作進行模板化、可編排、統(tǒng)一集成的自動化運維平臺,降低運維成本,提高運維效率,將維護人員從基礎(chǔ)運維工作中解放出來,為企業(yè)做更大的貢獻。同時該平臺將利用基礎(chǔ)運維能力的編排,實現(xiàn)網(wǎng)絡(luò)端到端可視化的展示,并直接運用于故障的判斷、定位和處理過程中,降低故障處理時長、提高故障處理效率;該平臺還將利用多平臺的任務(wù)查詢能力進行算法的可編排定制,實現(xiàn)用戶數(shù)據(jù)的查詢和比對,直接賦能客服及運維人員的投訴處理,提高用戶的業(yè)務(wù)感知。
外部:世界范圍內(nèi),全球經(jīng)濟衰退,但是國內(nèi)經(jīng)濟正在逐步復(fù)蘇,中國很多企業(yè)都以這場疫情為契機,化危機為機遇,化風(fēng)險為財富,開展自我深化改革,自我轉(zhuǎn)型發(fā)展。
內(nèi)部:開展各項變革,扎實推進網(wǎng)絡(luò)強國建設(shè),維護網(wǎng)信安全,深化企業(yè)改革,擴大對外合作,提升服務(wù)水平,拓展用戶規(guī)模,推進企業(yè)高質(zhì)量發(fā)展,向領(lǐng)先的綜合智能信息服務(wù)運營商目標(biāo)前進。
運維的發(fā)展趨勢:運維自動化、智能化水平不斷提高,云的發(fā)展對運維產(chǎn)生了一定的沖擊性,使得云時代的運維工作迎來了發(fā)展新趨勢;“雙態(tài)運維”,一個是穩(wěn)態(tài),一個是敏態(tài),一個追求業(yè)務(wù)穩(wěn)定的發(fā)展,另一個追求迭代、快速、變化的訴求,于是將兩種優(yōu)勢結(jié)合形成了研發(fā)運營一體化即DevOps,它的核心理念包括精益管理、敏捷等理論,通過持續(xù)交付、持續(xù)集成的工具鏈,還有一些輕量級的IT服務(wù)管理。
自動化運維平臺通過事件驅(qū)動的流程化,實現(xiàn)自動采集、分析、可視化等整體服務(wù)?;陂_源底層工具Ansible封裝搭建自動化運維平臺,并將其進行微服務(wù)化的部署和注冊形成底層能力,通過平臺分權(quán)分域?qū)崿F(xiàn)用戶的登錄及權(quán)限管理?;贏nsible自動化運維平臺,對接入設(shè)備進行自動化運維管理,通過腳本的編排實現(xiàn)日常運維和復(fù)雜功能的實現(xiàn)。同時實現(xiàn)外圍平臺互通。提供服務(wù)能力。在現(xiàn)有的自研平臺上,迭代數(shù)據(jù)采集編排模塊,完成與自動化運維平臺北向接口對接,實現(xiàn)以上數(shù)據(jù)的采集、入庫、二次編排統(tǒng)計和可視化呈現(xiàn)。如圖1所示。
圖1:項目技術(shù)架構(gòu)圖
3.2.1 Ansible技術(shù)特征
輕量級,無需在客戶端安裝agent,更新時,只需在操作機上進行一次更新即可。批量任務(wù)執(zhí)行可以寫成腳本,而且不用分發(fā)到遠程就可以執(zhí)行。使用python編寫,維護更簡單。支持sudo。采用SSH協(xié)議。Ansible的API,提供Ansible Runner工具模塊。直接或作為另一個系統(tǒng)的一部分與ansible交互時(無論是通過容器映像接口、作為獨立工具還是作為可以導(dǎo)入的python模塊),它都會提供幫助。目標(biāo)是為Ansible提供一個穩(wěn)定和一致的接口抽象。如圖2所示。
圖2:Ansible工作機制
3.2.2 Tornado技術(shù)特征
輕量級架構(gòu)、性能優(yōu)越、速度快、高并發(fā)。異步非阻塞、內(nèi)嵌了HTTP服務(wù)器、自定義模塊。如圖3所示。
圖3:Tornado結(jié)構(gòu)圖
3.2.3 功能架構(gòu)交互技術(shù):
Ansible和Tornado都是基于Python語言編寫的。定制化任務(wù)通過Ansible的playbook模塊完成。普通任務(wù)可以使用shell和copy2個模塊完成。Tornado架構(gòu)程序通過調(diào)用Ansible Runner接口工具包與Ansible通信進行訪問執(zhí)行。舉例如圖4所示。
圖4:Twisted架構(gòu)用來接收客戶端的監(jiān)控數(shù)據(jù)并存入Mysql數(shù)據(jù)庫
(1)通過搭建該平臺,實現(xiàn)運用自動化手段解決重基礎(chǔ)運維的日常重復(fù)工作,為企業(yè)降本增效。目前,各系統(tǒng)平臺相互獨立,日常運維主要靠維護人員每天登錄設(shè)備、輸入命令的方式進行重復(fù)性工作,所需日常數(shù)據(jù)或其他需求也是以此方式進行,存在效率低、易出錯、響應(yīng)慢等不足,同時也耗費了大量的人工成本。
(2)通過搭建該平臺,實現(xiàn)各平臺之間統(tǒng)一管理,實現(xiàn)聯(lián)動。目前各平臺運維相互獨立,缺少統(tǒng)一管理,各個系統(tǒng)平臺不能自適配數(shù)字化轉(zhuǎn)型下業(yè)務(wù)發(fā)展變化的需求,靈活度非常低,造成業(yè)務(wù)性能的分析統(tǒng)計大部分通過“手工作坊”式的方式實現(xiàn),難度大、運維工作效率低。
(3)通過python編程配合腳本的邏輯功能,實現(xiàn)各平臺間編排能力。目前,各平臺之間缺少編排能力,隨著業(yè)務(wù)的發(fā)展和要求的不斷變化,如果運維有新需求或者原功能有改動,需要多部門聯(lián)動、發(fā)起相應(yīng)流程、依靠三方廠商來實現(xiàn),不但效率低、而且花費成本高。
(4)實現(xiàn)網(wǎng)絡(luò)端到端的可視化運維。目前運維還存在缺乏網(wǎng)絡(luò)端到端的可視化運維工具,無法直觀的進行判障排障,當(dāng)故障發(fā)生時,還是依靠手工加經(jīng)驗的方式來處理;運維在支撐用戶服務(wù)方面,如查詢用戶數(shù)據(jù),需要登錄多平臺進行逐個查詢,也非常耗時耗力。
(5)實現(xiàn)可編排的數(shù)據(jù)查詢比對工具。隨著“云改數(shù)轉(zhuǎn)”戰(zhàn)略的逐步深化,集團“全面上云”要求的逐步落實,現(xiàn)有運維方式已無法滿足新形勢下的要求,急需一個自動化運維平臺將運維人員從繁重的日常維護工作解放出來、將不斷變化的需求編排能力掌握在運維人員手中降低成本。
系統(tǒng)主要功能(如圖5所示)。
圖5:系統(tǒng)功能結(jié)構(gòu)圖
平臺對接入的主機資源、網(wǎng)絡(luò)資源、應(yīng)用資源等實現(xiàn)統(tǒng)一的資源管理,從接入初始就實現(xiàn)數(shù)字化管理;對任何時期不同主機的增加、減少、修改等均設(shè)置統(tǒng)一管理入口,方便管理。
分權(quán)分域是任何系統(tǒng)必不可少的一項重要功能,本系統(tǒng)根據(jù)各功能設(shè)計劃分小顆粒度的分權(quán)分域的管理,匹配賬戶的權(quán)限管理。權(quán)限管理還包括系統(tǒng)上線后,不同用戶的資源管理權(quán)限、自動化運維任務(wù)管理權(quán)限、不同報表管理權(quán)限等待,真正實現(xiàn)誰的系統(tǒng)誰管理誰負(fù)責(zé)。
系統(tǒng)將實現(xiàn)主機上線、資源配置、自動化運維任務(wù)上傳審批、發(fā)布部署等不同流程的可視化管理。用戶可以隨時查看不同任務(wù)的及時狀態(tài),方便運維管理。平臺還將實現(xiàn)復(fù)雜流程編排的審核流程可視化,將自動化數(shù)據(jù)配置、自動化應(yīng)急預(yù)案啟動流程進行可視化編排和展示。
系統(tǒng)將實現(xiàn)對外API接口能力,通過API管理功能,對API的更新、優(yōu)化、升級、發(fā)布等實現(xiàn)管理。
平臺基于開源Ansible自動化運維工具。Ansible 是近年來越來越火的一款開源運維自動化工具,它擁有豐富的內(nèi)置模塊,幾乎可以滿足一切要求;它管理模式非常簡單,一條命令可以影響上千臺主機;它無客戶端模式,底層通過 SSH通信;通過Ansible可以實現(xiàn)運維自動化,提高運維工程師的工作效率,減少人為失誤,降低人工成本。如圖6所示。
圖6:Ansible基本架構(gòu)圖
維護人員通過自主編排運維腳本,將日常工作的查詢命令和條件進行編排,即可自動定時完成,只有達到預(yù)設(shè)條件時系統(tǒng)才會提示需要關(guān)注。運維腳本的開發(fā),即是運維能力的編排,幾乎可以通過編排滿足運維的所有需求。腳本倉庫就是運維腳本的版本管理和實例參考的倉庫,它將大大降低運維腳本編排的難度和工作量,真正讓自動化運維更加簡便。如圖7所示。
圖7:Ansible任務(wù)執(zhí)行流程圖
在自動化運維腳本編排完成后,我們還設(shè)計了一個任務(wù)管理的功能,主要是區(qū)分同一任務(wù)多個腳本時誰是部署使用的版本、誰是歷史版本;對任務(wù)的定時或其他特殊設(shè)置進行管理。
平臺將采用前后端采用完全分離的開發(fā)模式,前端使用Web主流技術(shù),以維護人的使用習(xí)慣為出發(fā)點布局和設(shè)計,后端以微服務(wù)的方式實現(xiàn)注冊管理。
本平臺還將平臺具有的能力,通過自主研發(fā),以API的形式提供給其他系統(tǒng)使用,提高整體運維可編排能力。
通過調(diào)研維護人員的使用習(xí)慣,根據(jù)實際生產(chǎn)需求,完成前端頁面設(shè)計和開發(fā)調(diào)試,部署和調(diào)試自動化運維平臺,并以微服務(wù)形式實現(xiàn)前后端各模塊的注冊和調(diào)用。
借助自動化運維平臺,實現(xiàn)日常工作中需要的常規(guī)操作或任務(wù)查詢的自動化,將原來每天或定期登錄、查詢、記錄、判斷等流程,縮短為腳本上傳、查看結(jié)果。極大的減輕日常運維工作,讓運維人員解放出來做更有意義的工作。
通過對運維腳本的編排,實現(xiàn)任意網(wǎng)絡(luò)端到端的展示。對全程主機接入后,自主研發(fā)和編排自動運維腳本,實現(xiàn)全程端到端的網(wǎng)絡(luò)監(jiān)測和可視化展示,實現(xiàn)可視化判障排障,當(dāng)故障發(fā)生時通過該平臺直觀定位到具體位置,通過自動化手段極大縮短故障處理時長。
基于此,可完成其他網(wǎng)絡(luò)端到端場景運維腳本的編排,完成數(shù)據(jù)的采集和入庫,并對采集到的原始數(shù)據(jù)完成二次編排的業(yè)務(wù)邏輯的開發(fā),實現(xiàn)網(wǎng)絡(luò)端到端的可視化、智能化;
完成投訴用戶的數(shù)據(jù)查詢比對的多平臺數(shù)據(jù)查詢腳本的編排,完成數(shù)據(jù)的采集和入口,并對采集到的原始數(shù)據(jù)完成二次編排的業(yè)務(wù)邏輯的開發(fā),實現(xiàn)用戶數(shù)據(jù)的智能查詢。一鍵對投訴用戶的數(shù)據(jù)進行查詢判斷比對,該功能將借助不同主機自動運維腳本的編排,來實現(xiàn)一鍵用戶數(shù)據(jù)診斷,并結(jié)合實際判障經(jīng)驗進行功能的編排,實現(xiàn)一鍵判障,無需登錄多個平臺逐個查詢數(shù)據(jù)比對。
本次系統(tǒng)的開發(fā),還將探索平臺對外接口的能力開放,將開發(fā)一些接口可供第三方系統(tǒng)進行調(diào)用和展示、數(shù)據(jù)分析等系統(tǒng)直接調(diào)用通過API獲取數(shù)據(jù)。
通過本系統(tǒng)可對運維方便實現(xiàn)降本增效,保障和促進業(yè)務(wù)發(fā)展的目的,可以結(jié)合更多具體業(yè)務(wù)場景和不同網(wǎng)絡(luò)結(jié)構(gòu)需求,實現(xiàn)可視化判障排障、實現(xiàn)任務(wù)智能編排。同時,基于獲取到的運維數(shù)據(jù)進行數(shù)據(jù)分析和數(shù)據(jù)治理,可以為運維大數(shù)據(jù)和AI提供數(shù)據(jù),為數(shù)字化轉(zhuǎn)型戰(zhàn)略提供數(shù)據(jù)基礎(chǔ)保障。如圖8所示。
圖8:自動化運維平臺演進路線
隨著信息化的全面推進,自動化運維必將代替之前的人工運維方式。之后我們研發(fā)的該系統(tǒng)必定會大放異彩,日常運維工作基本不直接接觸生產(chǎn),切實提升了工作效率、降低了生產(chǎn)風(fēng)險、嚴(yán)控了操作流程。自動化做到事前全面防范、事中及時處理、事后智能分析,保障了信息系統(tǒng)這顆大心臟的穩(wěn)定性,為集團快速發(fā)展保駕護航。