混沌工程,是一套通過在(準(zhǔn))生產(chǎn)環(huán)境,對(duì)IT架構(gòu)和業(yè)務(wù)系統(tǒng)進(jìn)行壓力與故障模擬實(shí)驗(yàn),主動(dòng)曝露實(shí)驗(yàn)對(duì)象脆弱性的方法論,能有效地幫助探索和避免潛在的穩(wěn)定性缺陷,檢驗(yàn)和提升系統(tǒng)高可用性和容錯(cuò)性,提升故障響應(yīng)修復(fù)效率,減小事故影響,從而打造更具彈性、更抗風(fēng)險(xiǎn)的系統(tǒng),掌握系統(tǒng)運(yùn)行時(shí)各種行為規(guī)律,持續(xù)提高技術(shù)團(tuán)隊(duì)的應(yīng)急能力和抗壓素養(yǎng)。
但是傳統(tǒng)的混沌工程也有自身的缺陷。根據(jù)反脆弱性理論,IT組織的脆弱性來自于內(nèi)部隨機(jī)事件和外部壓力事件,但現(xiàn)階段混沌方案,只側(cè)重于來自內(nèi)部,面向架構(gòu)的故障注入;而欠缺來自外部,面向業(yè)務(wù)的故障注入。同時(shí)由于歷史原因,大部分混沌工程方案,并未形成跨架構(gòu)的能力,在“軟件定義一切”的大背景下,絕大多數(shù)的故障注入,又都會(huì)對(duì)IaaS,PaaS和SaaS產(chǎn)生影響。
一、“三位一體”超級(jí)混沌工程的提出
基于傳統(tǒng)混沌工程的局限性,廣州掌動(dòng)智能科技有限公司首次提出“三位一體”超級(jí)混沌工程方案,即在原有混沌工程的基礎(chǔ)上,增加了“業(yè)務(wù)級(jí)故障”注入能力和實(shí)驗(yàn)過程中實(shí)時(shí)“跨棧跟蹤”能力,是一套IT系統(tǒng)穩(wěn)定性和可靠性的保障方案。
二、何為“三位一體”?
1.混沌業(yè)務(wù)級(jí)故障注入
通過配置不同參數(shù),組合不同業(yè)務(wù)報(bào)文,播放不同類型的業(yè)務(wù)交易,實(shí)現(xiàn)對(duì)被測(cè)對(duì)象的容量爆破,容錯(cuò)爆破,風(fēng)險(xiǎn)爆破。
2.混沌架構(gòu)級(jí)故障注入
通過執(zhí)行不同策略的故障腳本,實(shí)現(xiàn)對(duì)架構(gòu)級(jí)、應(yīng)用級(jí)的混沌爆破,主要以資源耗盡,錯(cuò)誤配置,人工切換等方法,實(shí)現(xiàn)故障注入。
3.跨架構(gòu)全棧觀測(cè)能力
通過資產(chǎn)、指標(biāo)(KPI/KQI)和業(yè)特征務(wù)(API/SQL/報(bào)文),實(shí)現(xiàn)基于性能異常方法的故障注入監(jiān)控告警以及基于故障定位方法的故障爆炸半徑測(cè)量
三、具備哪些主要能力?
1、業(yè)務(wù)級(jí)故障注入能力
●業(yè)務(wù)壓力注入:無規(guī)律,瞬時(shí)隨機(jī)的大規(guī)模業(yè)務(wù)并發(fā),通過響應(yīng)時(shí)間、辦理成功率等數(shù)據(jù),檢測(cè)系統(tǒng)對(duì)尖峰流量的抗沖擊能力,伸縮性以及自恢復(fù)能力
●業(yè)務(wù)錯(cuò)誤注入:構(gòu)建錯(cuò)誤數(shù)據(jù)、錯(cuò)誤流程、重復(fù)數(shù)據(jù)等場(chǎng)景,通過返回報(bào)文的正確性校驗(yàn),檢測(cè)系統(tǒng)對(duì)非正常數(shù)據(jù)的容錯(cuò)能力
●業(yè)務(wù)風(fēng)險(xiǎn)注入:構(gòu)建業(yè)務(wù)敏感數(shù)據(jù)、攻擊性數(shù)據(jù)等場(chǎng)景,通過對(duì)系統(tǒng)返回的報(bào)文進(jìn)行校驗(yàn),檢測(cè)系統(tǒng)管對(duì)與風(fēng)險(xiǎn)業(yè)務(wù)的應(yīng)對(duì)能力。
2、架構(gòu)級(jí)故障注入能力
從“主機(jī)與網(wǎng)絡(luò)”、“中間件”、“數(shù)據(jù)庫(kù)”、“微服務(wù)”等層面對(duì)IT基礎(chǔ)架構(gòu)進(jìn)行故障注入。平臺(tái)內(nèi)置117個(gè)原子故障用例,支持場(chǎng)景編排和私有故障腳本編排。同時(shí)平臺(tái)內(nèi)置70+實(shí)踐場(chǎng)景庫(kù),可以幫助用戶快速開展混沌工程實(shí)驗(yàn)。
3、跨架構(gòu)全棧觀測(cè)能力
支持對(duì)傳統(tǒng)架構(gòu)、虛機(jī)云、容器云進(jìn)行細(xì)粒度指標(biāo)的觀測(cè)能力,主要表現(xiàn)在如下幾個(gè)方面:
●豐富的TCP/UDP的會(huì)話指標(biāo):實(shí)時(shí)的分析全部或特定網(wǎng)卡的TCP/UDP會(huì)話,并可以將分析結(jié)果,以UDP封裝JSON格式的數(shù)據(jù),實(shí)時(shí)轉(zhuǎn)發(fā)到外部的數(shù)據(jù)接收端;主要的通信指標(biāo)包括,聚合后的四元組信息,MAC,VXLAN/GRE編號(hào),以及全部標(biāo)志位信息
●豐富的業(yè)務(wù)級(jí)監(jiān)控指標(biāo):實(shí)時(shí)分析HTTP/URL/XML等會(huì)話和負(fù)載內(nèi)容,并可以將其內(nèi)容和主要指標(biāo),以UDP封裝的JSON數(shù)據(jù),實(shí)時(shí)轉(zhuǎn)發(fā)到外部的數(shù)據(jù)接收端
●DB/SQL的指標(biāo)和內(nèi)容:實(shí)時(shí)分析SQL會(huì)話內(nèi)容,并可以將其內(nèi)容和主要指標(biāo),以UDP封裝的JSON數(shù)據(jù),實(shí)時(shí)轉(zhuǎn)發(fā)到外部的數(shù)據(jù)接收端;支持的DB包括但不限于Oracle,MySQL,SQLserver等結(jié)構(gòu)化數(shù)據(jù)庫(kù)
●進(jìn)程信息:如上三類功能,都可以與宿主機(jī)的進(jìn)程相關(guān)聯(lián),通過分析進(jìn)程的活躍程度(CPU/MEM用量),進(jìn)一步定位業(yè)務(wù)安全風(fēng)險(xiǎn)
四、應(yīng)用場(chǎng)景包含哪些?
1.判斷微服務(wù)容錯(cuò)能力
通過模擬調(diào)用延遲、服務(wù)不可用、機(jī)器資源滿載等,查看發(fā)生故障的節(jié)點(diǎn)或?qū)嵗欠癖蛔詣?dòng)隔離、停止執(zhí)行、下線,流量調(diào)度是否正確,預(yù)案是否有效。
2.驗(yàn)證容器編排配置是否合理
通過模擬殺服務(wù)Pod、殺節(jié)點(diǎn)、增大Pod資源負(fù)載,觀察系統(tǒng)服務(wù)可用性,驗(yàn)證副本配置、資源限制配置以及Pod下部署的容器是否合理。
3.驗(yàn)證監(jiān)控告警的時(shí)效性
通過對(duì)系統(tǒng)注入故障,驗(yàn)證監(jiān)控指標(biāo)是否準(zhǔn)確,監(jiān)控維度是否完善,告警閾值是否合理,告警是否快速,告警接收人是否正確,通知渠道是否可用等,提升監(jiān)控告警的準(zhǔn)確性和時(shí)效性。
4.驗(yàn)證PaaS層是否健壯
通過模擬上層資源負(fù)載,驗(yàn)證調(diào)度系統(tǒng)的有效性;模擬依賴的分布式存儲(chǔ)不可用,驗(yàn)證系統(tǒng)的容錯(cuò)能力;模擬調(diào)度節(jié)點(diǎn)不可用,測(cè)試調(diào)度任務(wù)是否自動(dòng)遷移到可用節(jié)點(diǎn);模擬主備節(jié)點(diǎn)故障,測(cè)試主備切換是否正常。
5.驗(yàn)證SaaS層應(yīng)用是否健壯
通過對(duì)系統(tǒng)注入業(yè)務(wù)壓力、業(yè)務(wù)錯(cuò)誤故障、業(yè)務(wù)風(fēng)險(xiǎn)故障等,驗(yàn)證系統(tǒng)的對(duì)尖峰流量的抗沖擊能力、伸縮性以及恢復(fù)能力是否符合預(yù)期,以及系統(tǒng)面對(duì)瞬時(shí)壓力是,IaaS層和PaaS層的各種表現(xiàn)是否符合預(yù)期。
6.提升定位與解決問題的應(yīng)急能力
通過故障突襲,隨機(jī)對(duì)系統(tǒng)注入故障,考察相關(guān)人員對(duì)問題的應(yīng)急能力,以及問題上報(bào)、處理流程是否合理,達(dá)到以戰(zhàn)養(yǎng)戰(zhàn),鍛煉人定位與解決問題的能力。
五、方案有什么優(yōu)勢(shì)?
1、架構(gòu)級(jí)故障和業(yè)務(wù)級(jí)故障聚合爆破實(shí)驗(yàn)方案
●業(yè)務(wù)級(jí)全類型故障注入能力
通過不同的業(yè)務(wù)壓力,量化IT架構(gòu)的劣化趨勢(shì)、通過業(yè)務(wù)錯(cuò)誤故障用例,驗(yàn)證業(yè)務(wù)容錯(cuò)能力、通過注入安全風(fēng)險(xiǎn)樣本,驗(yàn)證風(fēng)險(xiǎn)防護(hù)能力。
●故障演練場(chǎng)景多樣化
自動(dòng)化演練平臺(tái),豐富多樣和持續(xù)拓展的故障演練場(chǎng)景庫(kù),包括了各種場(chǎng)景:常見的基礎(chǔ)設(shè)施資源場(chǎng)景,應(yīng)用級(jí)別的故障注入式場(chǎng)景,云原生領(lǐng)域的演練場(chǎng)景。
●數(shù)據(jù)支持賦能管理
數(shù)據(jù)賦能運(yùn)維團(tuán)隊(duì)能力,深入挖掘復(fù)雜系統(tǒng)潛在風(fēng)險(xiǎn),持續(xù)提升系統(tǒng)、資源、人員等各方面保障能力,可管、可控、可視化、可考核、可提升。
●混沌能力市場(chǎng)
打造共享、共贏的場(chǎng)景庫(kù)生態(tài), 積累專家實(shí)踐經(jīng)驗(yàn),聚合專業(yè)服務(wù), 并可量化貢獻(xiàn);提供上傳及下載服務(wù),后臺(tái)審核與驗(yàn)證, 提供專業(yè)可靠安全保障。
●自定義腳本能力
提供支持自定義腳本底層故障注入的實(shí)現(xiàn)支持;提供完善故障注入的能力和效率。主機(jī)層/云原生層環(huán)境跨棧(跨架構(gòu))感知, 構(gòu)建服務(wù)間調(diào)用鏈,實(shí)時(shí)顯示服務(wù)間連接狀態(tài),對(duì)攻擊中的故障注入點(diǎn)和故障是否排除實(shí)時(shí)動(dòng)態(tài)可視化展示。
●領(lǐng)先雙引擎驅(qū)動(dòng)(chaos blade/chaos mesh)
chaos blade/chaos mesh將故障演練的環(huán)節(jié)分為多個(gè)節(jié)點(diǎn),用戶可以根據(jù)需要添加自己的流程節(jié)點(diǎn)。同時(shí),靈活的流程編排支持一次演練包含多個(gè)場(chǎng)景,通過不同的策略配置來達(dá)到不同的故障注入效果。
●實(shí)驗(yàn)直播監(jiān)看,全局演練沙盤
運(yùn)維人員保障工作量化,并提供可視化直播與回放實(shí)時(shí)記錄,運(yùn)維人員的操作可細(xì)粒度操作記錄。
●可擴(kuò)展性支持
以插件方式提供支撐服務(wù), 實(shí)現(xiàn)更多更好得擴(kuò)展性;結(jié)合多方插件, 實(shí)現(xiàn)更多的實(shí)驗(yàn)場(chǎng)景覆蓋。
2、跨架構(gòu)全棧的觀測(cè)能力
從傳統(tǒng)架構(gòu),網(wǎng)絡(luò),到云IaaS,PaaS,再到SaaS業(yè)務(wù)級(jí)的Metrics和Tracing的可觀測(cè)性能力;簡(jiǎn)單可靠,方法統(tǒng)一,對(duì)租戶和業(yè)務(wù)無擾,對(duì)云網(wǎng)環(huán)境無壓力。
3、經(jīng)驗(yàn)豐富的一、二線實(shí)施團(tuán)隊(duì)
●一線實(shí)施團(tuán)隊(duì),具備超大型混沌項(xiàng)目的實(shí)施經(jīng)驗(yàn),高效率、高安全性的工程實(shí)施方案;
●二線顧問團(tuán)隊(duì),具備業(yè)界知名的技術(shù)背景,為用戶制訂專業(yè)的IT脆弱性監(jiān)控與加固方案。
六、方案價(jià)值所在
1、主動(dòng)暴露實(shí)驗(yàn)對(duì)象的脆弱性,賦予穩(wěn)態(tài)系統(tǒng)賦予更多彈性特征。將風(fēng)險(xiǎn)事件實(shí)例化,并根據(jù)混沌工程的輸出,完善系統(tǒng)應(yīng)急措施,降低故障發(fā)生時(shí)爆炸影響,強(qiáng)化系統(tǒng)“自愈”能力
2、混沌變量反映了現(xiàn)實(shí)世界中的事件,從內(nèi)部IT到業(yè)務(wù)錯(cuò)誤事件的模擬注入,可以快速了解他們正在構(gòu)建的服務(wù)是否健壯,是否可以彈性擴(kuò)容,是否可以處理計(jì)劃外的故障
3、沉淀通用的故障模式,以可控成本在線上重放,以持續(xù)性的演練和回歸方式運(yùn)營(yíng)來暴露問題,不斷推動(dòng)系統(tǒng)、工具、流程、人員能力的不斷前進(jìn)
4、提前進(jìn)行混沌工程,進(jìn)行預(yù)警備案,提高事故預(yù)測(cè)和預(yù)警能力,有效降低事故率
5、采用自動(dòng)化故障注入,追蹤觀測(cè),節(jié)省人力資源,降低成本
如對(duì)“三位一體”超級(jí)混沌工程方案感興趣,歡迎關(guān)注掌動(dòng)智能官網(wǎng)了解。
免責(zé)聲明:市場(chǎng)有風(fēng)險(xiǎn),選擇需謹(jǐn)慎!此文僅供參考,不作買賣依據(jù)。
關(guān)鍵詞: