天天看點

混沌工程護航證券行業穩健發展

作者:金融電子化

文 / 中信建投證券股份有限公司首席資訊官 肖鋼

中信建投證券股份有限公司資訊技術部 徐志彬 曹雙雙 李寶強 李鑫

随着數字化轉型的不斷深入推進,證券行業資訊系統架構逐漸向微服務化演進,服務間依賴程度加深,業務鍊路環節增多,業務調用關系及資料流轉變得更加複雜,是以系統面臨的不可預見和不确定風險增大。為了提高系統的穩定性和柔韌性,保證資訊系統服務可用,檢驗應急場景處置的完整性和有效性,中信建投證券擁抱新思想,引入新技術,着手推進混沌工程體系建設,陸續推動各業務系統的混沌實驗及穩定性驗證。本文将簡要介紹混沌工程在中信建投證券的落地方案、實踐路徑和經驗總結,抛磚引玉,以供參考。

混沌工程即Chaos Engineering,是通過設計和執行一系列實驗,主動向系統中注入軟體或硬體的異常狀态或者擾動,幫助我們發現系統中潛在的、可能導緻系統服務異常的脆弱環節,通過主動管控這些脆弱環節存在的問題,提升資訊系統韌性。近年來該技術備受證券機構關注,為證券行業系統穩定性保駕護航。

中信建投證券于2021年正式啟動混沌工程建設。在承認系統“暗債”前提下,遵循安全準則進行“不按照常理出牌”的混沌實驗,主動擁抱故障,并将混沌實驗與運維管理體系、運作工具體系進行整合,實施從風險識别到應急有效性管理的全過程閉環管理。最終,從“預防為主”的品質建設角度提升業務系統可靠性,為其安全穩定運作保駕護航。

混沌工程建設

中信建投證券的混沌工程實踐并非對傳統研發、運維體系的替代與革新,而是在遵從IS20000标準前提下,結合運維管理的數字化轉型以及智能化的發展方向,對大運維管理體系中的部分環節、理念更新與延伸,是一整套系統性工作。結合公司實際情況,混沌工程建設分為三個階段:第一個階段主要是提高資訊系統的穩定性和柔韌性,解決資訊系統健壯性的問題;第二個階段主要解決應急場景的完整性、告警的完整性和有效性以及處置的有效性,并将應急場景、報警與自動化處置銜接起來,實作應急場景的演練和處置的自動化;第三個階段結合大資料分析和人工智能技術,實作故障場景的智能識别,建立場景的特征值,實作資訊系統穩定性和應急處置的智能化和自動化處置。目前建設處于第二個階段,并在規劃第三個階段的建設。具體情況如下。

1.混沌工程落地方案

Jens Rasmussen提出的動态安全模型在韌性工程領域廣為人知,并受到高度重視。中信建投證券的混沌工程實踐也充分考慮安全性、經濟性和有效性,将故障演練平台結合已有的運維支撐工具,通過全流程管理,建構一套适合自己的混沌工程落地方案(如圖1所示)。

混沌工程護航證券行業穩健發展

圖1 混沌工程方案

故障演練平台:在該平台上以業務鍊路為核心,從業務的整體處理過程出發,将技術風險管控政策從局部管控延伸至整體管控,探究業務處理過程中整個資訊系統生命周期的缺陷,進而實作技術風險的全過程閉環管理。該子產品還提供了任務編排排程、場景庫管理、擾動注入和使用者展示功能。

分析子產品:在系統中承上啟下,它主要進行日志分析、監控名額分析、根因分析和場景識别。針對混沌演練過程中産生的日志和監控告警資料,分析判斷爆炸半徑和業務影響程度,并且反向驗證監控告警是否準确全面。在此分析基礎上,提取故障特征,進行問題定位,比對已有應急場景。

應急管理:用于應對故障處置,以確定系統及時快速恢複可用,提高系統的穩定性。它通過預先制定應對措施和響應流程,使團隊能夠高效地應對各種突發情況。這個子產品包括了方案管理、方案實施、應急協同等内容,其目标是在故障發生時能夠迅速根據已有方案迅速進行處置、快速恢複,進而減小損失并保障系統的正常運作。

報告管理:實驗演練結束後,能夠基于模闆,記錄過程中名額變化情況、壓測情況、處置情況等,生成演練報告,提供基于權限管控的報告檢視與下載下傳,為系統和應急方案優化提供支撐,更好地推進下次混沌實驗有序進行。

穩定性改進:對技術規範的持續改進是混沌工程實踐的延伸。系統管理者在通過混沌工程發現穩定性缺陷時,識别架構設計、編碼規範、測試評估等環節中的不足,積累開發端系統韌性提升規範,推動系統韌性提升管理工作的前置。

流程管理:把控混沌實驗開始到結束全生命周期的各個環節,提供給使用者統一的操作管道。

2.實踐流程

混沌工程是一個持續的過程,中信建投證券将混沌實驗和演練應急結合,并通過生産網絡安全事件複盤改進混沌實驗管理過程。其中混沌實驗是主動性、探索性,完成全方位系統異常實驗,生成有效的故障場景、應急方案以及系統優化改進意見;演練應急借助混沌工程的擾動注入能力,選取貼合實際的故障場景進行演練,驗證監控可靠性、應急預案的有效性、人員處理能力以及協調處置等;生産應急是真實的生産事件處置,基于前兩步的基礎,提升應急處置的信心,進行有效、快速地處理生産故障,并反向完善混沌實驗和演練應急過程,形成持續改進的閉環管理(如圖2所示)。

混沌工程護航證券行業穩健發展

圖2 實踐流程圖

定義明确的實驗目标:在進行混沌工程實踐之前,通過風險排查模型梳理風險點,并明确定義實驗的目标和期望結果。這有助于團隊更好地衡量實踐的效果和價值。

适度和漸進的實踐:混沌工程實踐應該在适度和可控的範圍内進行。開始時,選擇單系統元件故障或爆炸半徑較小實驗場景,然後逐漸擴大實驗規模。這有助于降低風險,并確定系統的穩定性和可用性。

風險評估和控制:在引入故障和擾動時,需要進行充分的風險評估,并采取适當的隔離控制措施,減少潛在的負面影響,確定系統的可靠性和恢複能力。風險評估應該包括評估可能的業務影響,制定相應的備份和恢複政策。

資料收集和分析:混沌工程實踐需要收集和分析現場。這包括實驗過程中的名額、監控和配置資訊、系統響應和應急處理效率等。通過對資料分析,更好地了解實踐的效果,并識别潛在的改進點,完善系統運維中各個薄弱環節。

總結和複盤:混沌工程實踐是一個團隊學習和複盤優化的過程。定期針對混沌實驗過程和網絡安全事件複盤,以及事件問題跟蹤可以幫助發現更深層次問題并提出改進措施。團隊成員間的互相支援、經驗分享,能夠更好地了解和應對系統中的故障和不确定性,賦能不同條線,更快地提升系統的健壯能力。

實踐特色

1.自主可控的創新實踐

中信建投證券混沌工程實踐在設計之初就走自主可控路線,在關鍵環節堅持自主開發,確定系統安全、穩定、可靠地運作。

系統落地方案自主化:結合公司現有環境及工具系統特點,設計獨有方案和流程,以達到混沌工程“分層解耦、相容統一、安全高效”的目标,最終實作了平台子產品化和服務插件化。

核心技術自主掌握:選用開源元件+自主開發方式實作故障注入、運維分析、自動化應急及運維流程管理,保證關鍵環節和關鍵子產品的實作滿足運作管理體系要求。

2.大運維體系的融合創新

混沌工程實踐梳理各環節所需承擔功能職責,更新工具系統功能,最終将故障注入平台與現有壓測系統、監控分析、資産配置、自動化工具、運維管理平台等系統對接,通過流程管控驅動系統混沌實驗到系統優化的全生命周期實作。最終使故障演練平台不再孤立的作為故障注入工具,有效融入大運維體系,拓展了其服務能力。

3.全過程的自動化

依靠人工錄入場景、分析影響的方式開展規模化的實驗和演練,人力成本很高、效率低、曆史資料可追溯體驗不佳。故障演練平台通過風險評估模型、資産配置、故障能力組合,自動生産實驗場景,進行實驗任務自動排程、故障注入并通知監控分析系統,完成場景特征采集、根因分析,觸發應急自動化及處置結果觀測分析,最終實作了混沌工程實踐的全流程自動化處置。通過自動化設計,極大地減輕了混沌實驗過程的人工依賴,提高實驗能力、保證明驗收益,加速資訊系統的穩定性改進。

4.工具體系的開放性

快速适配系統技術方案疊代,持續滿足運作管理需求是運作管理工具體系設計建設的必然要求。我們将故障演練平台的各種能力進行改造,通過統一的接口标準,将系統功能接口化,向工具體系開放。如此,故障擾動能力、故障實驗過程管理将不再受限于固定工具平台,通過簡單的對接、配置就可以快速滿足混沌實驗的需求。

實踐成果

2021年開始,中信建投證券針對外圍管道系統進行故障演練活動。各個應用系統從基礎設施層、應用元件層和業務鍊路層進行全方位混沌實驗,有效地驗證系統的健壯性、業務服務能力的可持續性、故障恢複的可靠性。截至目前,納管資訊系統已從外圍管道系統逐漸向核心交易系統進行推進,風險場景也從基礎設施層向跨系統業務鍊路層覆寫。

通過混沌工程實踐發現多處系統薄弱環節并修複,已經讓相關人員充分了解“面向錯誤、擁抱失敗”的重要性,将混沌實驗作為系統穩定性提升的必要手段,形成了跨條線、自上而下的團隊文化共識,并通過以文化促進實踐、以實踐成果宣導文化的良性循環。

通過混沌工程的建設和實踐,促進運作管理體系和工具系統完善,為資訊系統可用性和連續性管理提供有效抓手,通過“以戰養戰”“實戰練兵”,提升監控的覆寫度和準确性、應急管理的有效性,形成了一套完整閉環的工程實踐體系。

截至2023年,中信建投證券通過信通院分布式系統穩定性度量增強級評級,獲得信通院一雲多芯穩定安全運作優秀案例、“混沌工程先鋒實踐者”及“雲系統穩定安全運作混沌工程實踐優秀案例”等優秀案例評選。

未來展望

經過3年混沌工程實踐,中信建投證券已經形成了從前端到後端,從基礎資源到業務鍊路的故障實驗能力,後續将不斷探索和總結,繼續為公司資訊系統的穩定性提供更多支援和保障。一是加強文化建設,将整個混沌工程文化向系統設計、開發、測試端移動,使混沌工程理念貫穿系統開發、測試、運作全生命周期,讓混沌實驗成果和規範要求作為系統建設、上線評判的關鍵依據,提高系統的健壯性和穩定性;二是提升故障演練能力,完善現有基礎資源、中間件、資料庫和業務的故障場景注入能力,補全信創環境短闆,豐富原子故障功能;三是推動大資料和人工智能技術落地,通過大模型分析故障場景特征,并與根因定位相結合,識别故障場景,及時、精準地觸發應急處置,提高應急效率。

混沌工程體系的建設是一個不斷打磨、不斷發展的過程。中信建投證券将會繼續加速平台服務能力建設,充分發揮混沌工程價值,使其融入資訊系統運作品質保障體系,保障業務系統穩定、高效、安全運作,同時也會不斷學習其他實踐機關的經驗,積極參與行業相關标準的制定和推廣工作,為證券行業的混沌工程建設貢獻綿薄之力。

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

繼續閱讀