從甲方到乙方,如何做好混沌工程的行業化落地

阿里巴巴雲原生發表於2021-12-20

從甲方到乙方,如何做好混沌工程的行業化落地

作者:穹谷|阿里雲技術專家,ChaosBlade 社群以及商業化產品的 Founder 和 Maintainer ,樂於參與混沌工程佈道。

2021 年 12 月 7 日,由信通院主辦、混沌工程實驗室承辦的“混沌工程技術沙龍-金融行業精品專場”沙龍在北京舉辦,來自阿里雲的技術專家穹谷分享“從甲方到乙方,如何做好混沌工程的行業化落地”。


01

混沌工程逐步成為

企業提升穩定性的重要手段

Cloud Native


企業系統雲原生化,帶動應用釋出迭代速度越來越快,但分散式系統的複雜性也越來越高,從而導致故障頻發,如 Google Cloud 伺服器由於內部儲存配額問題造成身份驗證系統中斷、AWS 處理流媒體資料服務出現問題,雲服務當機 5 小時等故障,都造成了重大影響。

由於系統不可預測的行為風險增多,雲上覆雜系統的穩定性難以保障,所以混沌工程逐步成為企業尋求業務連續性的重要方案。企業企圖通過混沌工程用來保障生產環境的分散式系統在面對失控條件的時候仍然具備較強的韌性。

同時行業也在不斷增強混沌工程領域的標準制定,信通院通過釋出《混沌工程平臺能力要求》、《混沌工程成熟度模型》、《混沌工程穩定性度量模型》等標準規範推動混沌工程領域發展,同時聯合各企業成立混沌工程實驗室,促進了混沌工程在國內快速發展。

從甲方到乙方,如何做好混沌工程的行業化落地

02

甲乙雙方的需求和供給不同,

造成混沌工程的行業化落地困境

Cloud Native


自混沌工程原則提出,國內外頭部網際網路、雲廠商等公司開始湧現一批初具形態的混沌工程平臺服務,網際網路的公司的特點使平臺發展路線關注在產品化、生產環境、實驗探索、雲原生等方面。根據信通院聯合各企業釋出的《中國混沌工程調查報告》顯示,在混沌工程開發技術上,甲方和乙方對技術產品有不同的選擇。乙方(服務供給側)更傾向於採用自研平臺為輔助,而甲方(服務需求側)更傾向於採用商業化平臺作為輔助,在選擇商業化平臺時更加關注產品完善度、行業案例、安全、技術可控等能力,面對的問題如場景如何梳理、實施環境如何建設、穩定性如何評估、影響範圍如何控制、實驗流程如何制定、組織如何協同、落地價值如何體現、行業特性覆蓋、運維體系如何整合等問題,所以不僅需要技術,還需要服務,融入行業特性結合實踐模式來落地混沌工程。那如何去做呢?阿里巴巴結合內部混沌工程的演進,包括集團、商業化、開源等方向全方位提供混沌工程能力,結合行業化客戶面臨落地混沌工程的困難,提供了一套成熟的混沌工程行業化落地解決方案。

從甲方到乙方,如何做好混沌工程的行業化落地


03

阿里巴巴混沌工程行業化解決方案

提供社群版和企業版

Cloud Native

         
阿里巴巴混沌工程行業化的解決方案包含平臺技術和服務兩部分,平臺技術部分包含混沌工程平臺社群版和混沌工程平臺企業版本。社群版本是程式碼全部開源,由社群開發維護的版本。企業版本是提供公有云 SaaS和專有云部署的版本,相比於社群版本,提供更符合企業級規模化、場景化、安全可控等平臺需求。

1
 混沌工程平臺社群版


混沌工程平臺社群版是開源的,面向多叢集、多環境、多語言的通用混沌工程平臺,目的是解決使用者開始著手啟動混沌工程的問題。在平臺上可以配置多個環境實現資源隔離,在每個環境中支援多主機、多叢集、多容器資源管理和故障注入,還支援執行在這些資源上的 Java、Golang、C++ 等多語言應用;同時還支援託管業內主流的混沌工程實驗工具如 chaosblade、chaos mesh 和 litmuschaos,可以在平臺上實現一鍵部署;並且統一了實驗介面,可以直接在平臺上使用這些工具提供的實驗場景。除工具託管功能外,還提供場景管理、多維演練、流程編排、穩態檢測、演練防護、演練報告、多租戶等能力,提供 OpenAPI 可供外部整合。社群版和 CNCF 生態緊密關聯,如 Prometheus、HELM 等專案。

從甲方到乙方,如何做好混沌工程的行業化落地

2
 混沌工程平臺企業版


混沌工程平臺企業版定位是提供規模化、場景化、自動化、安全的產品能力,覆蓋 IaaS、PaaS、SaaS 全棧場景。採用社群版核心能力,可提供社群版往企業版一鍵升級的能力,同時針對行業化客戶已有的運維繫統,如全鏈路壓測系統、環境技術、單元化容災平臺、預案系統、可觀測等進行適配整合,通過與這些平臺整合,可以很好的解決爆炸半徑、穩態評估、自動化執行實驗等問題。

行業化客戶應用架構一般具備多語言、多平臺、異構雲、多供應商架構等特點,混沌工程企業版可以很好的適配整合,方便實現混沌工程一體化平臺。除了適配整合外,企業版相比如社群版平臺的能力更豐富,可從四個方面來看:

  • 豐富的演練場景:企業版支援 200 多個故障場景、支援雲服務、同時相容 Windows 平臺,支援預檢、斷網、恢復、覆盤一站式的容災斷網演練,和服務級別的微服務演練。


  • 多樣化的演練形式:支援自定義演練機器、場景,可以將實驗沉澱為經驗庫或者直接建立經驗模板一鍵演練,簡單便捷。提供高階的演練方案,按需配置。支援視覺化演練,在架構拓撲圖上一鍵發起演練,可以很有效的檢視演練狀態和保障半徑。


  • 易用的演練平臺:業務零改造即可使用企業版平臺,支援架構自動化感知,實現自動梳理架構拓撲、演練視覺化等。支援一鍵從社群版升級至企業版,滿足企業級的需要。


  • 安全的演練保障:提供多種演練恢復策略,如通過配置業務指標閾值來控制演練狀態,安全可控。提供細粒度的許可權管控等。


從甲方到乙方,如何做好混沌工程的行業化落地

04

通用混沌工程實踐模式

Cloud Native


阿里巴巴混沌工程實踐模式是一套建立在阿里內部多年混沌工程實踐、社群開源討論和多個企業專案案例的基礎上,抽象出的一套通用混沌工程實踐模式。通過此實踐模式,可以大幅度降低企業在混沌工程課題引入、目標設定、組織設計等,確保有目的性的混沌工程落地。實踐模式一共分為三類,業務導向型混沌實踐、架構導向型混沌實踐和組織導向型混沌實踐:

  • 業務導向型混沌實踐,是一種以業務為視角的實踐方法,通過模式模板,可以快速演練暴露業務架構設計的問題,降低突發故障對業務帶來的影響。實踐模式包含服務間的強弱依賴模式,涉及到金融、資金類的資損防控模式,涉及使用者使用體驗類的使用者體驗模式和客戶端類終端容災模式,典型的應用場景如手機銀行、交易結算。


  • 架構導向型混沌實踐,是一種以基礎設施為視角的實踐方法,通過模式模板,從基礎設施的使用者和運維者角度發現問題、度量穩定性,縮短故障恢復時間。實踐模式包含驗證監控覆蓋度和有效性的可觀測模式,通過對 SLI 演練驗證對外提供 SLA 的服務等級協議模式,驗證同城雙活異地多活災難恢復模式、驗證服務自愈的故障恢復模式。使用場景有核心架構分散式改造、核心業務上雲等。


  • 組織導向型混沌工程實踐,是一種全域性視角度量和提升穩定性的實踐方法,通過組織運營,可以大幅度提升混沌工程氛圍,促進團隊的組織協同,提升故障應急效率。實踐模式包含計劃性的故障演習模式、在特定時間組織紅藍軍對抗的紅藍攻防模式、對生產環境發起的奇襲攻擊模式。典型的使用場景有針對故障應急 1-5-10 的達標率考核、大型穩定性專案推動等。


從甲方到乙方,如何做好混沌工程的行業化落地


05

三種落地交付模式

Cloud Native


通過諮詢服務總結出一套混沌工程實踐模式,可以更加聚焦的解決混沌工程層次化落地實踐問題。在實際的客戶交付中,根據客戶階段,逐步衍生出三種交付模式,即:社群版加可行性評估模式、企業版加規模化落地模式、企業版加行業深度共建3種模式。

  • 模式1 :社群版+可行性評估模式(輕諮詢) ,主要是通過開源的混沌工程平臺加混沌工程專家經驗,快速在企業中落地實施混沌工程,進行後續混沌工程全面鋪開的可行性評估。


  • 模式2 :企業版+規模化落地模式,通過公有云或專有云部署,藉助此平臺的企業級功能特性,可以實現在企業中規模化落地。


  • 模式3:企業版+行業深度共建模式,通過專有云部署,通過專有云版本整合與被整合的能力,結合客戶已有系統,進行深度共建,實現平臺一體化。


從甲方到乙方,如何做好混沌工程的行業化落地


1
 社群版 + 可行性評估(輕諮詢)的交付模式


藉助混沌工程社群版和阿里巴巴多年在集團和客戶沉澱的落地經驗,切實解決客戶面對混沌工程無從下手的窘境,快速落地混沌工程,實現混沌工程在企業落地的可行性評估。

從甲方到乙方,如何做好混沌工程的行業化落地

這個模式的典型客戶的案例如上,客戶背景是為滿足主機下移,對系統進行了分散式架構改造,自研分散式框架需要驗證其高可用能力,但沒有混沌工程相關經驗,想借此專案在企業中落地混沌工程。客戶目的也很明確,要求提供混沌工程技術方法論並教會相關測試人員如何做場景分析、部署混沌工程工具平臺並教會測試人員如何基於 ChaosBlade 擴充套件故障場景、帶領落地實施混沌工程,教會測試人員整個混沌工程實施流程。

針對客戶的背景和目標,先對客戶技術架構、業務架構、部署架構、穩定性保障等現狀進行調研,產出穩定性分析報告,提出穩定性問題風險點,提供混沌工程技術培訓,分析故障場景分析案例,帶領客戶基於客戶自研的分散式框架做故障場景分析;同時指導客戶基於 ChaosBlade 做自研故障場景開發,提供混沌工程整體技術方案和落地實施規劃:

在客戶側部署社群版平臺,基於已分析出的故障場景提供演練方案並評審,實施故障演練,產出規範化的故障演練報告和組織故障演練覆盤,提供混沌工程後續規劃建議。

整體的專案交付時間僅用 1 個月,達到指導和自行梳理自研框架故障場景幾十個、指導實施故障演練兩次,自行實施故障演練多次,發現高可用切換、故障自愈、監控告警等很多穩定性問題專案收益。為企業後續開展混沌工程規模化提供可行性評估。

2
 企業版加規模化的交付模式


混沌工程在各大網際網路企業中的價值逐漸被大家接受,越來越多的銀行、證券及保險金融類企業開始規劃並落地混沌工程技術,這些金融類企業在面臨分散式架構轉型、雲化技術升級以及金融信創下複雜的基礎設施環境下,使用混沌工程技術治理複雜系統的穩定是,是一種快速且有效技術手段。在面對如何快速有效落地混沌工程實踐上,缺乏經驗是這些金融企業面臨的最大調整,由於混沌工程基礎平臺本身具備行業無關性,通過創新專案引入成熟的混沌工程企業版本與服務成為越來越多的金融企業的首選。

混沌工程企業版提供豐富的演練場景、一站式演練能力,平臺易用、安全可控,保障企業規模化部署實施,發現系統穩定性問題,提升系統韌性,如藉助混沌工程平臺提升故障應急效率,如故障發現能力、故障定位能力、故障處理能力、故障覆盤等。可以幫助客戶縮短建設大規模演練實施時間,提升演練執行效率,保障混沌工程實施投入產出比,讓客戶的精力放在架構風險識別和系統優化上。

某頭部證券客戶隨著業務的發展和創新,系統數量和複雜度不斷提升,生產執行面臨著功能缺陷、效能容量、單點故障等威脅安全穩定執行的風險,需要從技術上提高系統的高效能和穩定性。通過藉助阿里雲混沌工程企業版成熟能力進行常態化、規模化演練實踐,提前對生產系統中大量的故障場景下進行脆弱性的檢驗,最大化提前識別和消除技術風險,提升系統執行的可靠性。在為期一個月的穩定性專題保障專案中,通過混沌工程,獲得了巨大收益:發現風險共計 23 類,超過 300 個問題點,演練次數 2000 多次,當日最高演練次數高達近 300 次,覆蓋核心系統 300 個等;並基於此企業版平臺開展混沌工程組織運營,如雙隨機演練、演練大屏看板、生產質量分析報告、演練資料運營等。

從甲方到乙方,如何做好混沌工程的行業化落地

3
 企業版加行業深度共建的交付模式


混沌工程企業版提供整合與被整合的能力,藉助此能力,可以和客戶的監控系統、變更系統、測試系統、應急系統、CMDB 等系統整合,根據行業系統特點,共同共建,如異構系統、國產化系統、網路雲系統等,提供行業化混沌工程領域技術創新,如量化評價、場景探索、實驗自動化等方面,實現共贏。

通過混沌工程企業版提供的標準化能力與客戶已有系統進行適配整合,建設具備行業屬性的混沌工程平臺能力,滿足行業需求,加速了客戶在混沌工程領域落地與創新。

從甲方到乙方,如何做好混沌工程的行業化落地


06

更多

Cloud Native


阿里巴巴致力於落地混沌工程及行業化解決方案,通過多種實踐模式使混沌工程實施更聚焦,多種交付模式服務於各種不同需求的企業。大家可以通過以下連結快速體驗阿里雲混沌工程服務,或進行混沌工程解決方案諮詢。

1)開源專案地址:

2)產品體驗地址:
https://developer.aliyun.com/adc/scenario/e9b27357ab9c4785bc7f43fb62f872e3

3)解決方案地址:

點選閱讀原文,立即上手體驗混沌工程!

更多混沌工程的討論,歡迎進群溝通!
掃描下方二維碼或搜尋釘釘群號:23177705 即可入群!

從甲方到乙方,如何做好混沌工程的行業化落地



往期推薦

從甲方到乙方,如何做好混沌工程的行業化落地

浩鯨科技基於ChaosBlade的混沌工程實踐

從甲方到乙方,如何做好混沌工程的行業化落地

ChaosBlade:從混沌工程實驗工具到混沌工程平臺

從甲方到乙方,如何做好混沌工程的行業化落地

去哪兒網基於ChaosBlade的混沌工程實踐


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69975341/viewspace-2847385/,如需轉載,請註明出處,否則將追究法律責任。

相關文章