【附下載】國內(nèi)首個(gè)《中國混沌工程調(diào)查報(bào)告(2021)》深度解讀 | ID...

來源:混沌工程技術(shù)PDF文件下載方式:公眾號(hào)后臺(tái)回復(fù)“混沌工程”,可下載《中國混沌工程調(diào)查報(bào)告(2021)》
隨著分布式、云原生成為主流的系統(tǒng)架構(gòu)設(shè)計(jì)方案,大規(guī)模分布式系統(tǒng)的穩(wěn)定性保障能力越來越成為業(yè)界關(guān)注的重點(diǎn)。如今,混沌工程作為保障系統(tǒng)穩(wěn)定性的利器,受到業(yè)界廣泛關(guān)注,中國信通院作為國內(nèi)最早推進(jìn)混沌工程標(biāo)準(zhǔn)化工作的單位,聯(lián)合混沌工程實(shí)驗(yàn)室全體成員單位、社區(qū)、媒體共同發(fā)起國內(nèi)首個(gè)混沌工程問卷調(diào)查,以期掌握我國混沌工程的接納程度和特點(diǎn)。
2021年11月11日,在混沌工程實(shí)驗(yàn)室主辦的“混沌工程與系統(tǒng)穩(wěn)定性主題沙龍”上,中國信通院云大所副所長栗蔚深度解讀了國內(nèi)首個(gè)《中國混沌工程調(diào)查報(bào)告》。以下為報(bào)告詳細(xì)內(nèi)容。

本報(bào)告采用在線調(diào)查加線下訪談的方式,共回收有效問卷1016份、訪談企業(yè)17家。報(bào)告的第一部分介紹調(diào)查背景,第二部分介紹我國混沌工程當(dāng)前使用情況,第三部分是混沌工程致力于提高的系統(tǒng)穩(wěn)定性現(xiàn)狀,第四部分聚焦混沌工程的發(fā)展建議。本報(bào)告以調(diào)查結(jié)果為基礎(chǔ),力爭詳實(shí)客觀地反映混沌工程領(lǐng)域應(yīng)用現(xiàn)狀與痛點(diǎn)需求,為廣大從業(yè)人員、專家學(xué)者和研究機(jī)構(gòu)提供真實(shí)可信的數(shù)據(jù)參考。
核心觀點(diǎn)

1、國內(nèi)軟件系統(tǒng)穩(wěn)定性有較大可提升空間。
- 調(diào)查數(shù)據(jù)顯示,近20%的受訪用戶所負(fù)責(zé)的產(chǎn)品可用性低于2個(gè)9(意味著用戶每個(gè)月要忍受超過7.3小時(shí)的服務(wù)故障),超過4成產(chǎn)品的可用性低于3個(gè)9(意味著用戶每個(gè)月要忍受超過44分鐘的服務(wù)故障)。
- 故障發(fā)生之后的解決情況也差強(qiáng)人意:僅不到一半的故障平均發(fā)現(xiàn)時(shí)長(MTTD)小于1小時(shí);故障平均修復(fù)時(shí)長普遍超過1小時(shí),超過6成故障修復(fù)時(shí)間(MTTR)高于1小時(shí),甚至有約20%的服務(wù)故障修復(fù)時(shí)間超過12小時(shí)。
- 超過3成企業(yè)僅在小范圍使用混沌工程,僅8.68%的企業(yè)較大規(guī)模地應(yīng)用混沌工程,混沌工程在企業(yè)內(nèi)部滲透率有待進(jìn)一步提高;
- 近半數(shù)企業(yè)在研發(fā)、測試環(huán)境中使用混沌工程,僅不到20%的企業(yè)在生產(chǎn)環(huán)境中開展混沌工程演練,混沌工程在內(nèi)部使用的技術(shù)復(fù)雜度不夠高;
- 阻礙用戶大規(guī)模、深度使用混沌工程的主要障礙是:缺乏相關(guān)經(jīng)驗(yàn)以及擔(dān)心故障注入對(duì)生產(chǎn)環(huán)境帶來風(fēng)險(xiǎn)。
- 調(diào)查數(shù)據(jù)顯示,隨著混沌工程使用頻率提升,低可用性(可用性低于99%)的產(chǎn)品占比急劇萎縮,高可用性(可用性高于99.99%)的產(chǎn)品占比迅速增長。
- 混沌工程通過在生產(chǎn)環(huán)境中執(zhí)行探索性測試以發(fā)現(xiàn)系統(tǒng)中的隱藏問題,在軟件系統(tǒng)穩(wěn)定性維護(hù)上展現(xiàn)出巨大價(jià)值,其中提升服務(wù)可用性及降低故障修復(fù)時(shí)間是兩大主要收益。65%的受訪用戶認(rèn)為采用混沌工程提升了服務(wù)可用性,49.85%的受訪者認(rèn)為混沌工程幫助降低了MTTR。
- 線下訪談數(shù)據(jù)顯示,業(yè)務(wù)系統(tǒng)開發(fā)人員面對(duì)日益復(fù)雜的技術(shù)架構(gòu),急需應(yīng)用適配新型IT架構(gòu)的穩(wěn)定性保障工具、建設(shè)路徑指引以及穩(wěn)定性度量體系;
- 受訪用戶普遍表示,合理借力合作伙伴或技術(shù)研究機(jī)構(gòu)的技術(shù)支持和實(shí)踐經(jīng)驗(yàn),可以很大程度規(guī)避新技術(shù)采納過程中可能遇到的障礙,縮短技術(shù)成熟周期。
詳細(xì)數(shù)據(jù)解讀

發(fā)展階段:混沌工程在企業(yè)內(nèi)部的應(yīng)用處于起步階段1)混沌工程普及率較低,未來有廣闊增長空間:受訪用戶中有超過3成從未使用過混沌工程,僅3.94%左右的能比較頻繁地(每天演練)使用混沌工程。
圖1 混沌工程使用頻率2)混沌工程在企業(yè)內(nèi)部的滲透率偏低:超過3成企業(yè)使用混沌工程的產(chǎn)品比例低于25%,僅8.68%的企業(yè)內(nèi)部應(yīng)用混沌工程的占比超過75%?;煦绻こ虒?duì)企業(yè)內(nèi)部的很多使用場景、產(chǎn)品都有較大可滲透空間。
圖2 公司中使用混沌工程的業(yè)務(wù)占比?3)混沌工程使用階段較為初級(jí):44.41%的用戶在研發(fā)/測試環(huán)境中開展演練,在預(yù)生產(chǎn)環(huán)境中開展混沌工程演練的占比也達(dá)到了32.21%。較低的生產(chǎn)環(huán)境使用率體現(xiàn)了用戶對(duì)混沌工程直接作用于生產(chǎn)環(huán)境的不自信。
圖3 開展混沌工程演練的環(huán)境?開發(fā)工具:混沌工程實(shí)踐以國內(nèi)開源工具為主,需求側(cè)與供給側(cè)側(cè)重各有不同。1)服務(wù)需求側(cè)(甲方)更傾向于采用商業(yè)產(chǎn)品為輔助:33.04%的服務(wù)需求側(cè)傾向于采用成熟的商業(yè)產(chǎn)品作為輔助,以實(shí)現(xiàn)混沌工程快速落地、避開實(shí)施陷阱;其次才會(huì)考慮自研平臺(tái)。
圖4 混沌工程使用工具分布-需求側(cè)?2)服務(wù)供給側(cè)(乙方)更傾向于采用自研平臺(tái)為輔助:對(duì)于服務(wù)供給側(cè)來講,商業(yè)產(chǎn)品的吸引力(26.68%)小于自研平臺(tái)(37.96%)及國外開源工具(29.07%)。
圖5 混沌工程使用工具分布-供給側(cè)?故障類型:故障注入類型以基礎(chǔ)資源故障為主。1)故障注入類型聚焦于基礎(chǔ)資源層面,應(yīng)用層及容器關(guān)注度偏低:網(wǎng)絡(luò)資源故障和計(jì)算資源故障是最通常采用的故障注入類型,而應(yīng)用類和容器類故障注入的關(guān)注度相對(duì)較低。
圖6?故障注入類型分布?2)故障演練實(shí)施靶點(diǎn)主要為主機(jī)/虛機(jī):與故障注入類型一致,用戶最常采用的故障演練實(shí)施靶點(diǎn)為主機(jī)/虛機(jī),較少將故障直接實(shí)施在應(yīng)用上,這可能與部分應(yīng)用故障有一定的技術(shù)實(shí)現(xiàn)門檻,需要與開發(fā)框配合實(shí)現(xiàn)有關(guān)。
圖7?混沌工程演練的實(shí)施對(duì)象/靶點(diǎn)?實(shí)施收益:提升可用性是實(shí)施混沌工程的最大收益與前述分析結(jié)果保持一致,可見混沌工程有助于提升用戶最關(guān)注的服務(wù)可用性。調(diào)查數(shù)據(jù)顯示,高達(dá)65%使用過混沌工程的受訪用戶表示混沌工程可以“提升服務(wù)可用性”,顯著高于其他收益項(xiàng)。
圖8?實(shí)施混沌工程的收益?實(shí)施障礙:經(jīng)驗(yàn)的缺乏及對(duì)風(fēng)險(xiǎn)的擔(dān)憂,國內(nèi)市場需要成熟、完善的混沌工程商業(yè)產(chǎn)品或咨詢服務(wù)降低技術(shù)實(shí)施難度。調(diào)查數(shù)據(jù)顯示,46.32%的用戶缺乏使用混沌工程的相關(guān)經(jīng)驗(yàn),45.29%的用戶表示擔(dān)心“混沌工程可能會(huì)對(duì)生產(chǎn)環(huán)境帶來某些風(fēng)險(xiǎn)” ;而對(duì)于剛接觸混沌工程的用戶來講,“缺乏相關(guān)經(jīng)驗(yàn)”是其深度采納混沌工程最大的障礙;對(duì)于頻繁使用混沌工程的用戶來講,對(duì)風(fēng)險(xiǎn)的擔(dān)憂占上風(fēng);同時(shí),隨著混沌工程使用頻率的提升,用戶對(duì)衡量混沌工程效益的需求顯著增長(圖10橙色線)。消除用戶采納混沌工程的顧慮,有以下建議:- 向市場推出成熟的混沌工程產(chǎn)品或咨詢服務(wù),降低用戶的使用門檻是盡快推廣混沌工程的有效手段;
- 設(shè)計(jì)完備的系統(tǒng)穩(wěn)定性度量體系、混沌實(shí)驗(yàn)故障分級(jí)機(jī)制可以量化混沌工程的實(shí)施效果,推動(dòng)混沌工程精益化發(fā)展,提升混沌工程實(shí)施的投入產(chǎn)出比。
圖9 實(shí)施混沌工程的最大障礙?
圖10 采用混沌工程的障礙在使用頻率上的分布前置條件:技術(shù)就緒是實(shí)施混沌工程的前置條件產(chǎn)品技術(shù)層面的就緒包括:完善的監(jiān)控體系、可量化的系統(tǒng)穩(wěn)定性評(píng)估體系及系統(tǒng)已具備韌性基礎(chǔ)。調(diào)查數(shù)據(jù)顯示,65.59%的用戶認(rèn)為具備完善的監(jiān)控體系是混沌工程實(shí)施的首要前置條件,超60%的用戶需要對(duì)混沌實(shí)驗(yàn)時(shí)故障注入后的影響有可量化的評(píng)估模型,而團(tuán)隊(duì)協(xié)作在用戶的認(rèn)知中重要性相對(duì)較低,48.09%用戶選擇此項(xiàng)。
圖11 實(shí)施混沌工程的前置條件?概念認(rèn)知:混沌工程概念不清晰,知識(shí)普及任重道遠(yuǎn)調(diào)查數(shù)據(jù)顯示,超過半數(shù)被訪用戶對(duì)混沌工程和演習(xí)的概念分辨不清,約1/4的用戶認(rèn)為兩者沒有區(qū)別,僅有約1/5的用戶能明確表述出兩者的區(qū)別。對(duì)被訪用戶的反饋信息加工、進(jìn)行詞頻分析后,可以發(fā)現(xiàn)混沌工程更偏向于在生產(chǎn)環(huán)境中執(zhí)行探索性測試,具有隨機(jī)性,以發(fā)現(xiàn)系統(tǒng)中的隱藏問題;演習(xí)更偏向于有計(jì)劃性地驗(yàn)證某一具體猜想。
圖12 混沌工程與演習(xí)是否有區(qū)別?
圖13?用戶對(duì)混沌工程的認(rèn)識(shí)
?圖14 用戶對(duì)演習(xí)的認(rèn)識(shí)?第二部分【系統(tǒng)穩(wěn)定性現(xiàn)狀】可用性:企業(yè)產(chǎn)品可用性仍有提升空間1)調(diào)查數(shù)據(jù)顯示,近20%的受訪用戶所負(fù)責(zé)的產(chǎn)品可用性低于2個(gè)9,近半數(shù)產(chǎn)品的可用性能低于3個(gè)9。這意味著47.04%的用戶每個(gè)月要忍受高于44分鐘(可用性99.9%),甚至超過7.3小時(shí)(可用性99%)的服務(wù)故障。
圖15 可用性現(xiàn)狀?2)故障發(fā)生之后的解決情況也差強(qiáng)人意:僅不到一半的用戶故障平均發(fā)現(xiàn)時(shí)長(MTTD)小于1小時(shí);故障平均修復(fù)時(shí)長普遍超過1小時(shí),超過6成故障修復(fù)時(shí)間(MTTR)高于1小時(shí),甚至有約20%的服務(wù)故障修復(fù)時(shí)間超過12小時(shí)。
圖16 故障平均發(fā)現(xiàn)時(shí)長(MTTD)?
圖17 故障平均修復(fù)時(shí)長(MTTR)?可用性與混沌工程:混沌工程使用頻率與產(chǎn)品可用性提升顯著相關(guān)。從未使用過混沌工程的受訪者中,有近三成受訪者產(chǎn)品可用性低于99%,而隨著混沌工程使用頻率提升,在每天都會(huì)演練的受訪者中,這一比例急劇縮減到2.5%(見下圖中藍(lán)色模塊),即隨著混沌工程使用頻率提升,低可用性的產(chǎn)品占比急劇萎縮;與此相對(duì)應(yīng)的是,從未使用過混沌工程的受訪者中,僅25%的產(chǎn)品可用性高于99.99%,而隨著混沌工程使用頻率提升,在每天都會(huì)演練的受訪者中,這一比例迅速增長至65%(見下圖中紅色模塊),即隨著混沌工程使用頻率提升,高可用性的產(chǎn)品占比迅速增長。
圖18 產(chǎn)品可用性在不同混沌工程使用頻率上的分布?可用性度量與提升:產(chǎn)品可用性度量維度及提升可用性的方法多樣。1)產(chǎn)品可用性度量維度多樣:響應(yīng)時(shí)間、可用率和錯(cuò)誤率的選擇人數(shù)明顯較高,是度量產(chǎn)品可用性時(shí)最常使用的指標(biāo)。有近70%的用戶采用響應(yīng)時(shí)間作為產(chǎn)品可用性度量標(biāo)準(zhǔn)之一,除此之外,可用率和錯(cuò)誤率的選擇人數(shù)也接近60%。
圖19 產(chǎn)品可用性度量維度?2)產(chǎn)品可用性的提升方式:備份、健康性檢查、自動(dòng)擴(kuò)容、多中心雙活模式、數(shù)據(jù)庫復(fù)制集調(diào)查數(shù)據(jù)顯示,48.72%的用戶會(huì)選擇使用“備份”作為提升產(chǎn)品可用性的方法,48.43%的用戶會(huì)選擇使用“健康性檢查”,而自動(dòng)擴(kuò)容以45.28%的比例躋身產(chǎn)品可用性提升方法的第三位,多中心雙活和數(shù)據(jù)庫復(fù)制集分別以43.9%和40.06%的占比分列四、五位。相關(guān)人員可參考此數(shù)據(jù)以指導(dǎo)產(chǎn)品可用性提升建設(shè)規(guī)劃。
圖20 提高產(chǎn)品可用性的策略?3)應(yīng)用上云是提升可用性的有效手段:從公司的云化程度來看,不同的云化程度對(duì)產(chǎn)品可用性的影響具有顯著差異,云化程度越高的公司,產(chǎn)品可用性越高。上云比例低于25%的公司中,44.96%的產(chǎn)品可用性低于99%,僅14.71%的產(chǎn)品可用性高于99.99%;而隨著上云產(chǎn)品比例的提升至75%以上后,可用性高于99.99%的產(chǎn)品占比急速飆升至49.23%,翻了兩番之多。
圖21 云化程度與服務(wù)可用性情況的交叉分析?重大事故:當(dāng)前產(chǎn)品的穩(wěn)定性相對(duì)較差,合理運(yùn)用混沌工程能減少重大事故發(fā)生率。1)可用性面臨巨大威脅:調(diào)查數(shù)據(jù)顯示,74.11%的用戶產(chǎn)品每月發(fā)生的重大事故少于5個(gè),但每個(gè)月重大事故發(fā)生數(shù)量超過5個(gè)的產(chǎn)品占比達(dá)到25.89%,這意味著約1/4的產(chǎn)品每年會(huì)發(fā)生至少60次重大事故,可用性面臨巨大威脅。
圖22 每個(gè)月重大事故(根據(jù)公司內(nèi)部標(biāo)準(zhǔn))的平均數(shù)量?2)重大事故來源分布:對(duì)于每個(gè)月重大事故數(shù)量小于5的公司來說,代碼錯(cuò)誤和網(wǎng)絡(luò)問題是造成重大事故的主要原因;對(duì)于每個(gè)月發(fā)生5~10個(gè)重大事故的企業(yè)來說,非數(shù)據(jù)庫引起的內(nèi)部依賴問題引發(fā)了51.37%的故障,配置錯(cuò)誤引發(fā)了43.72%的重大事故;對(duì)于每個(gè)月發(fā)生10~20個(gè)重大事故的企業(yè)來說,非數(shù)據(jù)庫引起的內(nèi)部依賴問題同樣以47.95%的比例顯著高于其他故障類型,配置錯(cuò)誤以41.1%的比例位居第二。線下調(diào)研結(jié)果提示:合理運(yùn)用混沌工程能很好的規(guī)避或弱化以上問題。
圖23 重大事故來源分布?
圖24 重大事故與故障來源交叉分析?第三部分【發(fā)展建議】- 關(guān)注企業(yè)IT架構(gòu)現(xiàn)狀,構(gòu)建圍繞業(yè)務(wù)的穩(wěn)定性保障體系。面對(duì)日益復(fù)雜的IT系統(tǒng)架構(gòu)以及逐步提升的用戶期望,企業(yè)需要關(guān)注核心業(yè)務(wù)體系,建立穩(wěn)定性優(yōu)先的戰(zhàn)略并依據(jù)科學(xué)、有效的混沌工程理念規(guī)劃自身的穩(wěn)定性保障體系,在積極采納云原生、人工智能、大數(shù)據(jù)等技術(shù)的同時(shí),優(yōu)先考慮配套的穩(wěn)定性系統(tǒng)搭建,在保障系統(tǒng)穩(wěn)定的前提下,逐步實(shí)現(xiàn)業(yè)務(wù)向新架構(gòu)的遷移。
- 重視技術(shù)迭代,打造以混沌工程為中心的系統(tǒng)穩(wěn)定性保障體系。隨著IT技術(shù)的更新,穩(wěn)定性保障技術(shù)也隨之迭代更新以解決新架構(gòu)下面臨的新問題?;煦绻こ掏ㄟ^引入隨機(jī)和不可預(yù)知行為的受控實(shí)驗(yàn)來識(shí)別系統(tǒng)的弱點(diǎn),有效提升軟件系統(tǒng)穩(wěn)定性。在此基礎(chǔ)之上,配合使用可觀測性平臺(tái)、容量管理、全鏈路壓測等工具或技術(shù),組合搭建系統(tǒng)穩(wěn)定性保障體系,全方位保障軟件系統(tǒng)可用性。
- 構(gòu)建穩(wěn)定性優(yōu)先的企業(yè)文化,借助合作伙伴生態(tài)加速混沌工程成熟周期。首先,企業(yè)和組織必須對(duì)新理念和技術(shù)持包容的心態(tài),積極擁抱混沌工程理念及管理框架;其次,選擇能夠?qū)煦绻こ虒?shí)驗(yàn)進(jìn)行全生命周期支持的可信平臺(tái)或工具,精細(xì)化管理混沌實(shí)驗(yàn),逐步將混沌工程從測試環(huán)境推向生產(chǎn)環(huán)境;最后,企業(yè)應(yīng)重點(diǎn)關(guān)注混沌工程實(shí)踐效果度量,從而正確評(píng)估當(dāng)前系統(tǒng)穩(wěn)定性狀態(tài),縮短混沌工程成熟周期。
??PDF文件下載方式:公眾號(hào)后臺(tái)回復(fù)“混沌工程”,可下載《中國混沌工程調(diào)查報(bào)告(2021)》
玩樂高,學(xué)敏捷,【規(guī)模化敏捷聯(lián)合作戰(zhàn)沙盤之「烏托邦計(jì)劃」】,2022年3月5-6日登陸深圳,將“多團(tuán)隊(duì)敏捷協(xié)同”基因內(nèi)化在研發(fā)流程中,為規(guī)模化提升研發(fā)效能保駕護(hù)航!!???企業(yè)組隊(duì)和個(gè)人均可報(bào)名參加,一起挑戰(zhàn)極客烏托邦
