天天看點

技術應用 | 借“混沌工程”東風,實作雲系統穩定性内生的新探索

作者:金融電子化

文 / 中國國際金融股份有限公司資訊技術部 張晶 張力 魯非 史沛軒

金融科技發展迅猛,中國國際金融股份有限公司(簡稱中金公司)順勢而為,業務系統逐漸上雲。而上雲使得IT基礎設施和業務系統的複雜性日益增加,不可預見的使用者行為和事件交織,對系統、應用架構的可靠性提出了更高要求。為此,中金公司基于混沌工程思想,結合蒼穹雲環境特點,搭建應用韌性管理混沌工程平台——悟空,進行雲環境混沌實驗及系統常态化故障演練,積極修複通過混沌實驗發現的問題,穩步提升雲環境中系統故障免疫力,實作雲系統穩定安全内生。

技術應用 | 借“混沌工程”東風,實作雲系統穩定性内生的新探索

中國國際金融股份有限公司 資訊技術部 張晶

新态勢:“數字金融時代”帶來的不确定性

網際網路金融時代下,金融産品和服務模式不斷創新,交易量大幅攀升。面對網際網路金融的全新發展态勢,傳統的單體IT架構弊端暴露愈演愈烈,為了實作數字化轉型目标,業界廣泛應用雲計算、分布式等新技術,建構分布式架構和運維體系,以支撐金融業務的快速發展。

1.交易系統穩定性要求提升。現代證券行業交易活動頻繁,交易并發量高、涉及資金規模巨大、交易時間段集中,交易處理時效性要求極高,是以證券公司對交易系統的可用性、響應率等名額有着十分嚴格的要求,為将客戶滿意度維持到可接受的水準,運維團隊需要嚴格遵守監管法規,全力以赴監控業務應用運作狀态,應對各種異常或中斷事件。

2.資訊技術應用能力要求提升。以人工智能、區塊鍊、雲計算、大資料等為代表的數字技術的創新發展給證券行業引入了新的産業元素、服務業态和商業模式,在拓寬證券行業業務邊界的同時,也為運維團隊帶來的新的壓力。對此,運維團隊需要不斷學習新的知識,掌握新的技能,面對新的場景,不斷開展各種驗證、更新、遷移操作,避免出現操作失誤,引發系統對外服務異常。

3.行業監管要求提升。大陸證券行業目前正處于向數字化轉型階段,證券行業發展面臨重要機遇期,證券公司需要不斷為客戶提供多樣化、差異化的金融産品以應對不斷加劇的同業競争。證券行業利用數字技術對投資、交易、風控等全流程進行變革,資訊技術投入的重點轉變為強化現代科技在投資、顧問、産品、合規、風控、信用等證券領域的深度應用。業務全面數字化意味着需要投入更多的應用系統,建立更複雜的資料邏輯,保持更高的系統安全性和穩定性要求。對此,運維團隊必須采取更新的運維思想,更多的IT投入,建構新型的運維能力,以響應數字化轉型帶來的挑戰。

中金公司搭建的應用韌性管理混沌工程平台——悟空,實作了雲系統穩定性内生,有效助力解決生産事件根因難定位、非功能測試覆寫範圍不足、業務系統豎井式結構風險難以預測、應急能力驗證困難、全球化業務網絡可用性存疑等問題。同時,悟空混沌工程平台對加速信創改造布局具有重要意義。

新方向:“悟空”應用韌性管理混沌工程平台建設

中金公司應用韌性管理混沌工程平台,采用容器化封裝,以容器為基礎,形成代碼群組件重用,提高整體開發水準,簡化平台維護。平台分為多個系統服務(微服務),主要包括資料端、服務端、NoSQL端、資料端、Agent端、配置端、應用端、采集端、認證端、注冊端、網關端、用戶端等。

參考中國信通院《分布式系統穩定性建設指南》《混沌工程平台分級能力要求》标準内容,根據《證券公司網絡和資訊安全三年提升計劃(2023—2025)》要求,中金公司積極運用混沌工程開展和實施工作,搭建的應用韌性管理混沌工程平台基于四層設計,如圖1所示。

技術應用 | 借“混沌工程”東風,實作雲系統穩定性内生的新探索

圖1 “悟空”應用韌性管理混沌工程平台架構

基礎服務層:以IDC和蒼穹雲的基礎設施及硬體資源為底座支撐;抽取一系列公共業務能力,形成混沌工程管理平台的架構基座,提供統一鑒權、多租戶、授權機制、安全審計以及一系列服務中心等通用能力。

核心服務層:以故障注入能力為核心功能,形成平台核心服務層,包括核心原子故障注入能力、實驗場景管理、實驗探針管理,以及實驗資源管理。平台基于多種架構并存,相容虛拟機、容器、實體機、自主可控伺服器,實作統一的封裝,聚焦故障實施内容,忽略底層差異。

實驗管理層:包含實驗管理、實驗觀測及流量管理,支撐混沌工程的規模化和标準化推廣,提升混沌工程平台價值。實驗管理包含實驗計劃、實驗環境、實驗結果等管理;實驗觀測部分提供混沌實驗全流程的可視化;流量管理支援混沌工程在各種環境下的流量注入。

三方對接層:應用韌性管理混沌工程平台提供多種标準開放式接口,計劃對接CMDB、蒼穹雲管平台、監控平台、CI/CD等内部系統,目前主要應用在運維體系中。

新探索:借混沌工程實作雲系統穩定性内生

中金公司以蒼穹雲作為混沌工程實驗對象,從應用豎井結構和生命周期兩個次元進行混沌實驗。中金蒼穹雲是全球化部署的雲平台,如圖2所示,納管了境内外的基礎設施資源,主要涉及算力、存儲、網絡、資料庫、中間件等,為北京、上海、深圳、香港等地的資料中心提供業務上雲所需的全棧基礎設施能力。

技術應用 | 借“混沌工程”東風,實作雲系統穩定性内生的新探索

圖2 中金蒼穹架構圖

通過蒼穹雲的建設,中金公司全面實作雲資源流程化,通過自動化建設,保障資源T+0傳遞,極大地提升雲原生和傳統項目上線速度。蒼穹雲為公司部門業務系統提供基礎設施資源,有效支撐了業務系統的靈活傳遞與穩定運作。

1.實踐場景:業務系統豎井結構全面評估。業務系統穩定對外提供服務,需要借助穩定的主機和網絡裝置、主機系統、蒼穹雲底座和雲資源池以及執行個體和雲服務等。應用上雲對穩定性提出了更高的要求,任一元件的異常都會對業務系統穩定性運作帶來隐患,甚至産生重大影響。

中金公司基于悟空平台,從業務系統出發,通過豎井式結構逐層分析,對ARM和x86裝置層、作業系統層、雲底座和雲資源層、雲服務執行個體層、雲服務組合層,開展混沌實驗,進行全面評估。如圖3-a業務系統豎井評估子產品所示,從實驗設計、穩态名額定義、實驗環境準備、實驗實施、實驗報告确認等全流程,對業務系統實體架構和技術架構兩個次元進行分析,驗證業務系統運作豎井結構穩定性,嚴格把控實驗細節,保障實驗品質。

技術應用 | 借“混沌工程”東風,實作雲系統穩定性内生的新探索

圖3 混沌實驗實踐場景圖

2.實踐場景:真實事件應急演練檢驗應急處置能力。根據應急演練方案中預設的故障場景,混沌工程在演練中自動注入真實故障,以檢驗監控系統發現能力。同時應急團隊快速響應,按照應急預案完成應急處置,檢驗應急團隊處置能力和預案可用性,如圖3-b應急處置能力子產品所示。

各業務平台可定制演練計劃,依靠混沌工程平台進行計劃性和非計劃性演練,檢驗開發測試、運維團隊的應急處置能力、問題發現能力,驗證應急整體的執行方案以及監控的覆寫程度,驗證各個條線團隊的應急處置流程。此外,基于混沌工程平台場景設計可定期安排應急演練計劃,實作應急演練周期自動化進行,記錄演練過程的應用運作狀态并生成總結報告,形成正向回報機制。

3.實踐場景:業務系統上線品質檢驗。從業務需求角度出發,基于CI/CD流水線的業務上線活動分為開發和檢驗兩部分。開發人員遵從中金公司開發規範完成應用設計開發過程,檢驗人員采用傳統檢驗和混沌工程品質檢驗方法,設計檢驗用例完成應用功能和非功能驗證,使應用進入到待上線階段。

基于混沌工程的非功能性檢驗活動根據系統的部署架構設計混沌實驗,如圖3-c上線品質檢測子產品所示。在CI/CD流水線業務系統上線前增加混沌工程品質檢測節點,由混沌工程平台探測CI/CD待辦任務,混沌實驗針對待上線系統的各元件确定故障因子和檢測内容,完成高可用、彈性、自愈等非功能性測試,并對待上線應用完成評價,出具穩定性報告,提示風險點,提出優化建議,實作上線品質檢驗。

4.實踐場景:故障複現輔助鎖定根因優化應急預案。真實故障生産事件發生時,運維團隊以快速恢複業務為第一目标,然而以快速恢複業務為目标處置生産事件,會導緻較多事件問題根因難以鎖定的情況。通過混沌工程平台與監控系統和自動化運維系統進行對接,可在故障處理完成後進行根因分析,如圖3-d根因分析子產品所示。

根因分析以混沌實驗平台的故障注入為基本能力,通過在測試環境完成生産故障複現,為生産故障的根因定位提供環境和可能性。運維團隊送出問題單,根據問題現象設計混沌實驗,通過最小爆炸半徑控制,重複實驗逐漸縮小問題範圍完成問題确認,設計修複和強化方案并通過混沌實驗再次确認問題解決是否完善,以此解決問題根因,在生産環境同類問題後可快速驗證,提高應用的穩定性。

新經驗:從混沌工程實踐中汲取經驗

通過混沌工程平台多種的場景類實驗,中金公司混沌工程項目團隊從中汲取了豐富經驗。

增強團隊信創穩定性信心:通過FMEA(失效模式和影響分析)定義混沌實驗從故障嚴重程度、發生頻率等次元識别故障緻命度,根據FMEA的推薦驗證業務系統在ARM和x86混合架構中的穩定性。

生産故障複現輔助查找根因:基于餘弦相似度算法,對比原名額圖像與複現名額圖像的相似關系,确定故障複現實驗與生産環境中所發生故障的相關程度,同時限制故障複現實驗的爆炸半徑,確定複現計算不受其他因素幹擾,完成生産故障複現輔助根因定位。

實戰應急驗證應急處置能力:基于混沌工程的故障注入能力,引發系統異常狀态,進而驗證監控告警平台對故障采集的有效性和準确性,産生真實事件告警,驗證應急團隊響應能力與預案執行效果,有效提高應急工作效率,發現應急工作中的隐患。

上線品質門禁,有效提升系統可用性:接入CI/CD流水線,在提測和投産階段增加品質檢測節點,批量自動化執行演練對象所需檢驗的故障場景,識别投産階段品質風險,有效降低系統上線後由非功能問題引起的事件。

驗證業務系統豎井結構可用性:業務系統可用性是從實體裝置到應用等各層級可用性的綜合數值,每一層面元件出現故障都會對業務系統可用性産生不可預知的影響。通過對業務系統的豎井式結構的全面評估,将故障對業務系統的影響程度和範圍從未知變為已知。

全球性業務可用性驗證:全球化業務的可用性主要依賴全球多個IDC間網絡互聯,是以網絡可用性是IDC可用性和業務可用性的關鍵因素。通過對網絡高可用、延時、閃斷等風險進行檢測,針對發現的問題點進行配置調整修複,提升了網絡可用性。

通過對實踐探索的歸納總結,中金公司混沌工程項目成功獲得中國信通院·穩定性保障實驗室第二屆“雲系統穩定安全運作優秀案例”殊榮,為行業混沌工程應用提供了寶貴的經驗參考。

再展望:擴大混沌工程實踐範圍

目前應用系統架構正在從單體應用向雲原生應用轉變,傳統運維面臨兩套不同系統構架的挑戰,需要以不同的思路完成日益繁重的運維工作。借混沌工程平台持續檢驗穩定性保障方案的有效性,使大部分威脅與風險都能夠通過系統自身的能力化解,進而降低系統運作過程中的維護壓力,提升系統持續服務傳遞能力,保障業務活動持續運作是切實可行一套方法。

目前,混沌實驗前的系統分析和場景設計對人員的專業知識要求較高,實驗需要專業的混沌實驗專家參與。未來,中金公司混沌工程計劃針對不同的元件、服務等,提供内置的實驗場景模闆,為各應用操作人員提供體檢套餐服務,以友善混沌工程規模化的推廣和使用。

(此文刊發于《金融電子化》2024年3月上半月刊)

繼續閱讀