人工智能與運(yùn)維質(zhì)效提升:工行軟件開發(fā)中心參數(shù)治理建設(shè)實(shí)踐
一、參數(shù)治理
隨著大數(shù)據(jù)、人工智能等技術(shù)的快速發(fā)展,金融行業(yè)近年來集中進(jìn)行數(shù)字化轉(zhuǎn)型,數(shù)字化技術(shù)可以提高企業(yè)的核心競爭力,更好地適應(yīng)市場變化和客戶需求,智能運(yùn)維便是企業(yè)數(shù)字化轉(zhuǎn)型的關(guān)鍵支撐。
傳統(tǒng)應(yīng)用運(yùn)維著重于服務(wù)器的手工搭建、參數(shù)的手工維護(hù)和版本的正確安裝。就參數(shù)而言,隨著企業(yè)規(guī)模的逐漸壯大,應(yīng)用數(shù)量增加,參數(shù)數(shù)量隨之激增,參數(shù)規(guī)模迅速膨脹。參數(shù)量在壯大的同時(shí),也讓諸多風(fēng)險(xiǎn)凸顯出來,如參數(shù)分類不正確、參數(shù)描述模糊帶來的人工維護(hù)成本居高不下、參數(shù)值不正確阻礙測試等等。傳統(tǒng)手工維護(hù)參數(shù)并對參數(shù)進(jìn)行人工復(fù)核的方式成本消耗巨大,為提升運(yùn)維質(zhì)效,中國工商銀行軟件開發(fā)中心利用人工智能技術(shù),結(jié)合 DevOps 與 AIOps 思想,運(yùn)用自動(dòng)化工具進(jìn)行參數(shù)治理建設(shè),為企業(yè)發(fā)展注入新的活力。
二、治理流程
1. 運(yùn)維過程中常見問題:
(1)參數(shù)設(shè)計(jì)不合理,版本安裝后反復(fù)修改,導(dǎo)致測試效率降低、回退存在風(fēng)險(xiǎn)。
(2)版本帶出參數(shù)分類錯(cuò)誤,導(dǎo)致環(huán)境參數(shù)數(shù)量不準(zhǔn)確,運(yùn)維人員需維護(hù)在工具內(nèi)的規(guī)則更復(fù)雜,也會(huì)導(dǎo)致參數(shù)修改權(quán)限混亂,可修改參數(shù)的人員范圍擴(kuò)張。
(3)環(huán)境存在冗余參數(shù),對于已經(jīng)退出使用的參數(shù)未進(jìn)行刪除,或者新增參數(shù)時(shí)并未合理利用現(xiàn)有可復(fù)用參數(shù),導(dǎo)致參數(shù)體量越來越大,同時(shí)增加運(yùn)維維護(hù)成本。
為解決上述問題,參數(shù)治理亟需貫穿于 DevOps 各個(gè)環(huán)節(jié),研發(fā)針對參數(shù)治理的自動(dòng)化工具,從源頭開始對參數(shù)進(jìn)行把控,避免參數(shù)無序增長及隨意被修改、刪除。
2. 參數(shù)治理的總體框架:
設(shè)計(jì)及編碼階段:參數(shù)的新增、修改需符合各項(xiàng)參數(shù)規(guī)范,參數(shù)描述要準(zhǔn)確、控制范圍和生效條件要明晰,形成參數(shù)設(shè)計(jì)文檔。
參數(shù)的修改要由審核者進(jìn)行審核后發(fā)布到Git,避免不合理的參數(shù)設(shè)計(jì)引入各個(gè)環(huán)境。同時(shí),在提版環(huán)節(jié)利用大模型創(chuàng)建智能體,提供參數(shù)提交指導(dǎo),如參數(shù)分類、參數(shù)合理描述等,形成參數(shù)文檔資產(chǎn),納入?yún)?shù)臺(tái)賬。另外,智能體還可在參數(shù)提交后輔助審核人員進(jìn)行檢測審核。
構(gòu)建及部署階段:管理參數(shù),實(shí)現(xiàn)參數(shù)的熱發(fā)布、權(quán)限管控、集中管理,提升參數(shù)的機(jī)密性、完整性、可用性。研發(fā)參數(shù)自動(dòng)化檢測工具,掃描版本帶出的參數(shù),智能識(shí)別分類錯(cuò)誤、冗余、參數(shù)值及描述不合理的參數(shù)。
測試階段:對參數(shù)設(shè)計(jì)文檔進(jìn)行復(fù)核并覆蓋測試,同時(shí)利用自動(dòng)化檢查工具結(jié)合分布式配置中心(Apollo)進(jìn)行測試環(huán)境與生產(chǎn)環(huán)境的參數(shù)比對(含投產(chǎn)前核對),降低版本交付風(fēng)險(xiǎn)。
在各個(gè)涉及參數(shù)的環(huán)節(jié),需遵守相關(guān)規(guī)范,將安全宗旨貫穿于整個(gè)運(yùn)維流程。同時(shí)利用大模型或機(jī)器學(xué)習(xí)收集各個(gè)環(huán)節(jié)的運(yùn)維數(shù)據(jù),并用提供相應(yīng)指導(dǎo)與檢測,降低人為操作頻率,提高運(yùn)維效率。
3. 參數(shù)治理的具體實(shí)現(xiàn):
參數(shù)設(shè)計(jì):參數(shù)臺(tái)賬系統(tǒng)為設(shè)計(jì)人員提供應(yīng)用存量參數(shù)的全局視圖,方便設(shè)計(jì)人員在參數(shù)新增時(shí)按節(jié)點(diǎn)、服務(wù)環(huán)境、標(biāo)簽等維度靈活查詢存量已有的參數(shù)信息,避免引入冗余參數(shù)。在參數(shù)新增環(huán)節(jié),針對參數(shù)命名、參數(shù)描述、參數(shù)分類、參數(shù)值等列,對標(biāo)技術(shù)參數(shù)管理規(guī)范強(qiáng)化系統(tǒng)校驗(yàn),同時(shí)訓(xùn)練大模型助手實(shí)時(shí)提供參數(shù)維護(hù)建議,便于從源頭避免引入不合理的參數(shù)設(shè)計(jì)。同時(shí),參數(shù)臺(tái)賬展示了參數(shù)的維護(hù)記錄、人員、原因等,減少了后續(xù)問題溯源的時(shí)間。
參數(shù)審核: 大模型輔助提供參數(shù)審核指導(dǎo),降低審核人員的專業(yè)門檻及人工誤操作的幾率。
參數(shù)檢測:基于機(jī)器學(xué)習(xí)、文本分析技術(shù)打造自動(dòng)化智能掃描工具,對版本制品、測試環(huán)境中的參數(shù)進(jìn)行定時(shí)掃描,精準(zhǔn)識(shí)別分類錯(cuò)誤的參數(shù)及環(huán)境中長時(shí)間未被調(diào)用的或過于相似的參數(shù),掃描結(jié)果基于參數(shù)臺(tái)賬推送至應(yīng)用架構(gòu)師,架構(gòu)師基于分析結(jié)果確認(rèn)整改版本計(jì)劃;自動(dòng)掃描參數(shù)值為弱密碼、明文密碼等可能帶來密碼泄露風(fēng)險(xiǎn)的參數(shù),并將上述所有掃描結(jié)果返回至大模型進(jìn)行進(jìn)一步訓(xùn)練。
參數(shù)比對:在版本交付或上線前對版本帶出的與各個(gè)環(huán)境的參數(shù)進(jìn)行差異比對,避免由誤刪除、參數(shù)值不準(zhǔn)確等情況導(dǎo)致的測試覆蓋不全的問題發(fā)生。
環(huán)境搭建:在環(huán)境準(zhǔn)備初期,對環(huán)境參數(shù)進(jìn)行自動(dòng)替換,并生成不同版本間參數(shù)的差異便于后期核對。
工商銀行軟件開發(fā)中心通過上述流程機(jī)制和工具,在DevOps 各個(gè)環(huán)節(jié)進(jìn)行參數(shù)治理,截至目前已成功治理 2W+ 參數(shù),極大降低了環(huán)境搭建中斷次數(shù)及版本安裝中斷次數(shù),有效提高了測試效率。
三、展望
參數(shù)治理是一個(gè)持久的過程,需納入環(huán)境運(yùn)維的常態(tài)化機(jī)制,企業(yè)可以結(jié)合人工智能的不斷發(fā)展,堅(jiān)持把防控風(fēng)險(xiǎn)作為金融工作的永恒主題,加強(qiáng)監(jiān)管和防范化解風(fēng)險(xiǎn),堅(jiān)決守住不發(fā)生系統(tǒng)性和區(qū)域性金融風(fēng)險(xiǎn)的底線。
工商銀行軟件開發(fā)中心將緊跟時(shí)代步伐,將人工智能技術(shù)繼續(xù)深入運(yùn)用到運(yùn)維體系中,進(jìn)一步提升運(yùn)維效率,創(chuàng)造出更智能的自動(dòng)化工具、更穩(wěn)妥的工作流程,降低人工操作的風(fēng)險(xiǎn),實(shí)現(xiàn)運(yùn)維的數(shù)字化轉(zhuǎn)型,同時(shí)解放人力創(chuàng)造更多價(jià)值,為推進(jìn)金融高質(zhì)量發(fā)展、加快建設(shè)金融強(qiáng)國貢獻(xiàn)力量。
END