“三位一體”超級混沌工程究竟是什么?現(xiàn)在揭曉!
混沌工程,是一套通過在(準(zhǔn))生產(chǎn)環(huán)境,對IT架構(gòu)和業(yè)務(wù)系統(tǒng)進(jìn)行壓力與故障模擬實驗,主動曝露實驗對象脆弱性的方法論,能有效地幫助探索和避免潛在的穩(wěn)定性缺陷,檢驗和提升系統(tǒng)高可用性和容錯性,提升故障響應(yīng)修復(fù)效率,減小事故影響,從而打造更具彈性、更抗風(fēng)險的系統(tǒng),掌握系統(tǒng)運行時各種行為規(guī)律,持續(xù)提高技術(shù)團隊的應(yīng)急能力和抗壓素養(yǎng)。

但是傳統(tǒng)的混沌工程也有自身的缺陷。根據(jù)反脆弱性理論,IT組織的脆弱性來自于內(nèi)部隨機事件和外部壓力事件,但現(xiàn)階段混沌方案,只側(cè)重于來自內(nèi)部,面向架構(gòu)的故障注入;而欠缺來自外部,面向業(yè)務(wù)的故障注入。同時由于歷史原因,大部分混沌工程方案,并未形成跨架構(gòu)的能力,在“軟件定義一切”的大背景下,絕大多數(shù)的故障注入,又都會對IaaS,PaaS和SaaS產(chǎn)生影響。
一、“三位一體”超級混沌工程的提出
“三位一體”超級混沌工程究竟是什么?基于傳統(tǒng)混沌工程的局限性,廣州掌動智能科技有限公司首次提出“三位一體”超級混沌工程方案,即在原有混沌工程的基礎(chǔ)上,增加了“業(yè)務(wù)級故障”注入能力和實驗過程中實時“跨棧跟蹤”能力,是一套IT系統(tǒng)穩(wěn)定性和可靠性的保障方案。
二、何為“三位一體”?
1.混沌業(yè)務(wù)級故障注入
通過配置不同參數(shù),組合不同業(yè)務(wù)報文,播放不同類型的業(yè)務(wù)交易,實現(xiàn)對被測對象的容量爆破,容錯爆破,風(fēng)險爆破。
2.混沌架構(gòu)級故障注入
通過執(zhí)行不同策略的故障腳本,實現(xiàn)對架構(gòu)級、應(yīng)用級的混沌爆破,主要以資源耗盡,錯誤配置,人工切換等方法,實現(xiàn)故障注入。
3.跨架構(gòu)全棧觀測能力
通過資產(chǎn)、指標(biāo)(KPI/KQI)和業(yè)特征務(wù)(API/SQL/報文),實現(xiàn)基于性能異常方法的故障注入監(jiān)控告警以及基于故障定位方法的故障爆炸半徑測量。

三、具備哪些主要能力?
1、業(yè)務(wù)級故障注入能力
業(yè)務(wù)壓力注入:無規(guī)律,瞬時隨機的大規(guī)模業(yè)務(wù)并發(fā),通過響應(yīng)時間、辦理成功率等數(shù)據(jù),檢測系統(tǒng)對尖峰流量的抗沖擊能力,伸縮性以及自恢復(fù)能力。
業(yè)務(wù)錯誤注入:構(gòu)建錯誤數(shù)據(jù)、錯誤流程、重復(fù)數(shù)據(jù)等場景,通過返回報文的正確性校驗,檢測系統(tǒng)對非正常數(shù)據(jù)的容錯能力。
業(yè)務(wù)風(fēng)險注入:構(gòu)建業(yè)務(wù)敏感數(shù)據(jù)、攻擊性數(shù)據(jù)等場景,通過對系統(tǒng)返回的報文進(jìn)行校驗,檢測系統(tǒng)管對與風(fēng)險業(yè)務(wù)的應(yīng)對能力。
2、架構(gòu)級故障注入能力
從“主機與網(wǎng)絡(luò)”、“中間件”、“數(shù)據(jù)庫”、“微服務(wù)”等層面對IT基礎(chǔ)架構(gòu)進(jìn)行故障注入。平臺內(nèi)置117個原子故障用例,支持場景編排和私有故障腳本編排。同時平臺內(nèi)置70+實踐場景庫,可以幫助用戶快速開展混沌工程實驗。
3、跨架構(gòu)全棧觀測能力
支持對傳統(tǒng)架構(gòu)、虛機云、容器云進(jìn)行細(xì)粒度指標(biāo)的觀測能力,主要表現(xiàn)在如下幾個方面:
豐富的TCP/UDP的會話指標(biāo):實時的分析全部或特定網(wǎng)卡的TCP/UDP會話,并可以將分析結(jié)果,以UDP封裝JSON格式的數(shù)據(jù),實時轉(zhuǎn)發(fā)到外部的數(shù)據(jù)接收端;主要的通信指標(biāo)包括,聚合后的四元組信息,MAC,VXLAN/GRE編號,以及全部標(biāo)志位信息。
豐富的業(yè)務(wù)級監(jiān)控指標(biāo):實時分析HTTP/URL/XML等會話和負(fù)載內(nèi)容,并可以將其內(nèi)容和主要指標(biāo),以UDP封裝的JSON數(shù)據(jù),實時轉(zhuǎn)發(fā)到外部的數(shù)據(jù)接收端。
DB/SQL的指標(biāo)和內(nèi)容:實時分析SQL會話內(nèi)容,并可以將其內(nèi)容和主要指標(biāo),以UDP封裝的JSON數(shù)據(jù),實時轉(zhuǎn)發(fā)到外部的數(shù)據(jù)接收端;支持的DB包括但不限于Oracle,MySQL,SQLserver等結(jié)構(gòu)化數(shù)據(jù)庫。
進(jìn)程信息:如上三類功能,都可以與宿主機的進(jìn)程相關(guān)聯(lián),通過分析進(jìn)程的活躍程度(CPU/MEM用量),進(jìn)一步定位業(yè)務(wù)安全風(fēng)險。

四、應(yīng)用場景包含哪些?
1.判斷微服務(wù)容錯能力
通過模擬調(diào)用延遲、服務(wù)不可用、機器資源滿載等,查看發(fā)生故障的節(jié)點或?qū)嵗欠癖蛔詣痈綦x、停止執(zhí)行、下線,流量調(diào)度是否正確,預(yù)案是否有效。
2.驗證容器編排配置是否合理
通過模擬殺服務(wù)Pod、殺節(jié)點、增大Pod資源負(fù)載,觀察系統(tǒng)服務(wù)可用性,驗證副本配置、資源限制配置以及Pod下部署的容器是否合理。
3.驗證監(jiān)控告警的時效性
通過對系統(tǒng)注入故障,驗證監(jiān)控指標(biāo)是否準(zhǔn)確,監(jiān)控維度是否完善,告警閾值是否合理,告警是否快速,告警接收人是否正確,通知渠道是否可用等,提升監(jiān)控告警的準(zhǔn)確性和時效性。
4.驗證PaaS層是否健壯
通過模擬上層資源負(fù)載,驗證調(diào)度系統(tǒng)的有效性;模擬依賴的分布式存儲不可用,驗證系統(tǒng)的容錯能力;模擬調(diào)度節(jié)點不可用,測試調(diào)度任務(wù)是否自動遷移到可用節(jié)點;模擬主備節(jié)點故障,測試主備切換是否正常。
5.驗證SaaS層應(yīng)用是否健壯
通過對系統(tǒng)注入業(yè)務(wù)壓力、業(yè)務(wù)錯誤故障、業(yè)務(wù)風(fēng)險故障等,驗證系統(tǒng)的對尖峰流量的抗沖擊能力、伸縮性以及恢復(fù)能力是否符合預(yù)期,以及系統(tǒng)面對瞬時壓力是,IaaS層和PaaS層的各種表現(xiàn)是否符合預(yù)期。
6.提升定位與解決問題的應(yīng)急能力
通過故障突襲,隨機對系統(tǒng)注入故障,考察相關(guān)人員對問題的應(yīng)急能力,以及問題上報、處理流程是否合理,達(dá)到以戰(zhàn)養(yǎng)戰(zhàn),鍛煉人定位與解決問題的能力。

五、方案有什么優(yōu)勢?
1、架構(gòu)級故障和業(yè)務(wù)級故障聚合爆破實驗方案
業(yè)務(wù)級全類型故障注入能力
通過不同的業(yè)務(wù)壓力,量化IT架構(gòu)的劣化趨勢、通過業(yè)務(wù)錯誤故障用例,驗證業(yè)務(wù)容錯能力、通過注入安全風(fēng)險樣本,驗證風(fēng)險防護(hù)能力。
故障演練場景多樣化
自動化演練平臺,豐富多樣和持續(xù)拓展的故障演練場景庫,包括了各種場景:常見的基礎(chǔ)設(shè)施資源場景,應(yīng)用級別的故障注入式場景,云原生領(lǐng)域的演練場景。
數(shù)據(jù)支持賦能管理
數(shù)據(jù)賦能運維團隊能力,深入挖掘復(fù)雜系統(tǒng)潛在風(fēng)險,持續(xù)提升系統(tǒng)、資源、人員等各方面保障能力,可管、可控、可視化、可考核、可提升。
混沌能力市場
打造共享、共贏的場景庫生態(tài),積累專家實踐經(jīng)驗,聚合專業(yè)服務(wù),并可量化貢獻(xiàn);提供上傳及下載服務(wù),后臺審核與驗證,提供專業(yè)可靠安全保障。
自定義腳本能力
提供支持自定義腳本底層故障注入的實現(xiàn)支持;提供完善故障注入的能力和效率。主機層/云原生層環(huán)境跨棧(跨架構(gòu))感知,構(gòu)建服務(wù)間調(diào)用鏈,實時顯示服務(wù)間連接狀態(tài),對攻擊中的故障注入點和故障是否排除實時動態(tài)可視化展示。
領(lǐng)先雙引擎驅(qū)動(chaos blade/chaos mesh)
chaos blade/chaos mesh將故障演練的環(huán)節(jié)分為多個節(jié)點,用戶可以根據(jù)需要添加自己的流程節(jié)點。同時,靈活的流程編排支持一次演練包含多個場景,通過不同的策略配置來達(dá)到不同的故障注入效果。
實驗直播監(jiān)看,全局演練沙盤
運維人員保障工作量化,并提供可視化直播與回放實時記錄,運維人員的操作可細(xì)粒度操作記錄。
可擴展性支持
以插件方式提供支撐服務(wù),實現(xiàn)更多更好得擴展性;結(jié)合多方插件,實現(xiàn)更多的實驗場景覆蓋。
2、跨架構(gòu)全棧的觀測能力
從傳統(tǒng)架構(gòu),網(wǎng)絡(luò),到云IaaS,PaaS,再到SaaS業(yè)務(wù)級的Metrics和Tracing的可觀測性能力;簡單可靠,方法統(tǒng)一,對租戶和業(yè)務(wù)無擾,對云網(wǎng)環(huán)境無壓力。
3、經(jīng)驗豐富的一、二線實施團隊
一線實施團隊,具備超大型混沌項目的實施經(jīng)驗,高效率、高安全性的工程實施方案;
二線顧問團隊,具備業(yè)界知名的技術(shù)背景,為用戶制訂專業(yè)的IT脆弱性監(jiān)控與加固方案。

六、方案價值所在
1、主動暴露實驗對象的脆弱性,賦予穩(wěn)態(tài)系統(tǒng)賦予更多彈性特征。將風(fēng)險事件實例化,并根據(jù)混沌工程的輸出,完善系統(tǒng)應(yīng)急措施,降低故障發(fā)生時爆炸影響,強化系統(tǒng)“自愈”能力
2、混沌變量反映了現(xiàn)實世界中的事件,從內(nèi)部IT到業(yè)務(wù)錯誤事件的模擬注入,可以快速了解他們正在構(gòu)建的服務(wù)是否健壯,是否可以彈性擴容,是否可以處理計劃外的故障
3、沉淀通用的故障模式,以可控成本在線上重放,以持續(xù)性的演練和回歸方式運營來暴露問題,不斷推動系統(tǒng)、工具、流程、人員能力的不斷前進(jìn)
4、提前進(jìn)行混沌工程,進(jìn)行預(yù)警備案,提高事故預(yù)測和預(yù)警能力,有效降低事故率
5、采用自動化故障注入,追蹤觀測,節(jié)省人力資源,降低成本
以上的內(nèi)容就是對于“三位一體”超級混沌工程究竟是什么的一些詳細(xì)介紹了,如對“三位一體”超級混沌工程方案感興趣,歡迎關(guān)注掌動智能官網(wǎng)了解。