模拟驾驶能力输出,赋能客户提升稳定性信心
簡(jiǎn)介:?模擬駕駛能力輸出,賦能客戶(hù)提升穩(wěn)定性信心
1.背景
我們技術(shù)服務(wù)團(tuán)隊(duì)經(jīng)常會(huì)遇到這樣的狀況,隨時(shí)隨地收到緊急電話(huà),開(kāi)始緊張地排查問(wèn)題,處理故障以及恢復(fù)服務(wù)。硬盤(pán)故障、網(wǎng)絡(luò)不通、大量不到終態(tài)、水位高、流量激增等問(wèn)題不勝枚舉,也許因?yàn)橐粋€(gè)很小的變更,因某種不可預(yù)期的場(chǎng)景,引起蝴蝶效應(yīng),導(dǎo)致了大面積的系統(tǒng)混亂、故障和服務(wù)中斷,對(duì)客戶(hù)的業(yè)務(wù)造成嚴(yán)重影響。故障往往帶來(lái)巨大的損失,然而由于分布式系統(tǒng)的特性,各種不可預(yù)期的突發(fā)事件在所難免,單靠人力并不能夠百分之百地阻止其發(fā)生。與其擔(dān)驚受怕系統(tǒng)會(huì)出現(xiàn)什么樣的問(wèn)題,不如化被動(dòng)為主動(dòng),提前模擬線(xiàn)上環(huán)境可能出現(xiàn)的各種情況,來(lái)檢驗(yàn)我們的系統(tǒng)是否能做到容錯(cuò),是否在出現(xiàn)問(wèn)題時(shí)仍然具有對(duì)外提供服務(wù)的能力。
模擬駕駛的初衷就是通過(guò)實(shí)驗(yàn)性的方法,主動(dòng)找出系統(tǒng)中的脆弱環(huán)節(jié),讓人們建立起復(fù)雜分布式系統(tǒng)在生產(chǎn)中抵御突發(fā)事件的信心。任何足夠復(fù)雜的系統(tǒng)都不可避免地帶有讓人意想不到的暗債,暗債是現(xiàn)代軟件系統(tǒng)逐步復(fù)雜化進(jìn)程中的副產(chǎn)品,它會(huì)威脅系統(tǒng)的正常運(yùn)轉(zhuǎn)。模擬駕駛的意義就在于,它會(huì)幫助你發(fā)現(xiàn)暗債,從而在暗債變成系統(tǒng)的嚴(yán)重問(wèn)題之前加以應(yīng)對(duì),避免造成損失。
2.模擬駕駛
模擬駕駛是GTS-SRE混合云團(tuán)隊(duì)遵循混沌工程實(shí)驗(yàn)原理,并融合團(tuán)隊(duì)內(nèi)部多年高可用體系沉淀下來(lái)的經(jīng)驗(yàn)而打造的一款技術(shù)服務(wù),提供豐富的故障場(chǎng)景、異常仿真的實(shí)現(xiàn),能夠幫助分布式系統(tǒng)提升容錯(cuò)性和可恢復(fù)性,以期幫助更多的政府和企事業(yè)單位做好穩(wěn)定性建設(shè)。
2.1基礎(chǔ)服務(wù)內(nèi)容
?
圖1:模擬駕駛基礎(chǔ)服務(wù)內(nèi)容框架
2.1.1混沌工程課程培訓(xùn)
混沌工程學(xué)培訓(xùn)課程涉及三個(gè)專(zhuān)題,共八章,20小節(jié)的內(nèi)容。課程從混沌工程學(xué)的理論出發(fā),融合阿里內(nèi)部實(shí)踐,通過(guò)由混合云歷史故障庫(kù)和故障能力庫(kù)中精煉總結(jié)得來(lái)的經(jīng)典案例,深入淺出地解釋了如何完成混沌工程實(shí)驗(yàn),包括所需要面對(duì)的挑戰(zhàn)、推進(jìn)的準(zhǔn)備項(xiàng)、采用的工具以及模擬駕駛的實(shí)施方法,是混沌工程學(xué)實(shí)踐的入門(mén)課程。通過(guò)課程的學(xué)習(xí),可以幫助用戶(hù)達(dá)到以下的目標(biāo):
- 了解混沌工程學(xué)基本的概念、原則、前提、作用以及應(yīng)用;
- 了解混合云在混沌工程學(xué)實(shí)踐的工具包;
- 了解具體實(shí)施混沌工程實(shí)驗(yàn)的方法;
- 了解各場(chǎng)景的模擬駕駛演練操作方法;
- 參與混合云混沌工程的社區(qū)共建。
2.1.2模擬駕駛工具包
- 實(shí)驗(yàn)注入工具-Apsara Chaos Platform
Apsara Chaos Platform(簡(jiǎn)稱(chēng)ACP)是混合云一款遵循混沌工程原理和混沌實(shí)驗(yàn)?zāi)P偷膶?shí)驗(yàn)注入工具,幫助企業(yè)提升分布式系統(tǒng)的冗余容錯(cuò)能力、故障隔離能力、可觀測(cè)性,并且在企業(yè)上云或往云原生系統(tǒng)遷移過(guò)程中提供彈性能力和易用性能力的保障。ACP可支持豐富的異常仿真場(chǎng)景,包括邊界異常仿真(如docker異常等)、應(yīng)用層仿真(如進(jìn)程假死、異常退出等)、系統(tǒng)層仿真(如CPU、內(nèi)存、磁盤(pán)空間等系統(tǒng)資源消耗)、硬件層仿真(如網(wǎng)卡抖動(dòng)、帶外重啟等),并且在異常場(chǎng)景編排的異常類(lèi)型節(jié)點(diǎn),可以對(duì)此模擬能力進(jìn)行實(shí)例化。 - 監(jiān)控告警工具-TAM Alarm Center
TAM Alarm Center(簡(jiǎn)稱(chēng)TAC)是SRE團(tuán)隊(duì)為混合云精心打造的一站式告警運(yùn)維平臺(tái),覆蓋混合云所涉及的云產(chǎn)品、大數(shù)據(jù)、云實(shí)例以及用戶(hù)所涉及的站點(diǎn)應(yīng)用等告警,提供告警生命周期管理以及報(bào)警外發(fā)等解決方案。幫助混合云快速發(fā)現(xiàn)、定位異常問(wèn)題。目前,中國(guó)區(qū)100+項(xiàng)目已部署TAC,其中有40%+的項(xiàng)目可以通過(guò)釘釘、短信或郵件的方式實(shí)現(xiàn)告警外發(fā)。有效地提高了告警處理效率,減少因告警未及時(shí)處理導(dǎo)致故障的情況,大幅提高項(xiàng)目運(yùn)維質(zhì)量,減少項(xiàng)目人力投入成本。 - 故障診斷工具-SRE-CLI
Site Reliability Engineer - Command-Line Interface(簡(jiǎn)稱(chēng)SRE-CLI)是一款黑屏化控制臺(tái)的故障診斷工具,能夠根據(jù)異常場(chǎng)景從場(chǎng)景庫(kù)中匹配檢查項(xiàng)進(jìn)行自動(dòng)診斷并確認(rèn)異常原因,歸檔異常詳細(xì)信息,最終給出處理建議。SRE-CLI可幫助混合云快速發(fā)現(xiàn)、定位異常問(wèn)題的原因,提供從問(wèn)題描述、故障定位及診斷、輸出診斷報(bào)告、提供解決建議的全方位“問(wèn)診”服務(wù)。目前,云平臺(tái)底座產(chǎn)品天基的40%問(wèn)題已經(jīng)能夠通過(guò)SRE-CLI工具進(jìn)行診斷定位,從而減少了人工手動(dòng)排查的時(shí)間,有效地提高了故障處理效率,大幅提高項(xiàng)目運(yùn)維質(zhì)量,減少項(xiàng)目人力投入成本。 - 巡檢及問(wèn)題診斷工具-銅雀
銅雀專(zhuān)注于智能化巡檢及問(wèn)題診斷,是TAM和駐場(chǎng)服務(wù)團(tuán)隊(duì)日常工作中的首要工具。它能讓TAM和駐場(chǎng)服務(wù)團(tuán)隊(duì)從日常繁瑣的巡檢工作中解放出來(lái),將精力投入到更有價(jià)值的客戶(hù)服務(wù)中去,通過(guò)打通云平臺(tái)側(cè)、租戶(hù)側(cè)及應(yīng)用側(cè)的信息,輔助應(yīng)用運(yùn)維及優(yōu)化,并通過(guò)工具化手段提升現(xiàn)場(chǎng)問(wèn)題分析定位的能力和速度。銅雀目前作為混合云企業(yè)版的標(biāo)準(zhǔn)輸出產(chǎn)品,已經(jīng)能夠100%覆蓋V3平臺(tái)的局點(diǎn)。目前銅雀的功能主要是以巡檢為中心,后續(xù)將逐漸將故障應(yīng)急、高頻變更、問(wèn)題診斷能力補(bǔ)充上來(lái),并將銅雀的基礎(chǔ)能力開(kāi)放出來(lái),使產(chǎn)品、駐場(chǎng)、TAM等人員的經(jīng)驗(yàn)不斷沉淀到系統(tǒng)中,打造以銅雀為中心的運(yùn)維生態(tài)圈。
2.2服務(wù)案例
2.2.1背景
某電力集團(tuán)客戶(hù)想驗(yàn)證云平臺(tái)的高可用性以及阿里的故障應(yīng)急能力,在溝通之后了解到SRE-TAM團(tuán)隊(duì)有專(zhuān)業(yè)完善的模擬駕駛能力,遂提出服務(wù)申請(qǐng),邀請(qǐng)技術(shù)服務(wù)團(tuán)隊(duì)至業(yè)務(wù)現(xiàn)場(chǎng)進(jìn)行賦能培訓(xùn)及演練服務(wù)。
2.2.2目標(biāo)
技術(shù)服務(wù)團(tuán)隊(duì)希望通過(guò)本次服務(wù)提升客戶(hù)對(duì)混沌工程這一理念的認(rèn)知和對(duì)云平臺(tái)的了解,同時(shí)幫助現(xiàn)場(chǎng)同學(xué)和客戶(hù)提升故障的應(yīng)急處理能力,提振平臺(tái)穩(wěn)定性信心。
2.2.3服務(wù)概述
- 技術(shù)服務(wù)團(tuán)隊(duì)調(diào)研并收集項(xiàng)目現(xiàn)場(chǎng)信息;
- 賦能客戶(hù),進(jìn)行混沌工程培訓(xùn)課程的講授(包括混沌工程概述、混合云混沌工具包介紹、模擬駕駛?cè)齻€(gè)專(zhuān)題);
圖2:客戶(hù)現(xiàn)場(chǎng)進(jìn)行賦能培訓(xùn)
- 進(jìn)行工具的準(zhǔn)備及部署工作,在業(yè)務(wù)現(xiàn)場(chǎng)部署了ACP和SRE-CLI工具,對(duì)已部署的TAC工具進(jìn)行了升級(jí)工作;
- 客戶(hù)提供了演練時(shí)間窗口,技術(shù)服務(wù)團(tuán)隊(duì)按照標(biāo)準(zhǔn)流程(前期檢查、故障注入、告警查看、故障診斷&恢復(fù))進(jìn)行了五個(gè)場(chǎng)景的模擬駕駛演練;
- 指導(dǎo)客戶(hù)使用工具進(jìn)行操作演練并答疑;
圖3:客戶(hù)現(xiàn)場(chǎng)指導(dǎo)操作并答疑
2.2.4成果
通過(guò)本次模擬駕駛的服務(wù),加強(qiáng)了客戶(hù)對(duì)混沌工程實(shí)驗(yàn)的認(rèn)知和加深了客戶(hù)對(duì)云平臺(tái)高可用性的了解:
- 通過(guò)手把手地指導(dǎo)并且協(xié)同客戶(hù)一起從故障注入到故障發(fā)現(xiàn)最后到解決故障的實(shí)驗(yàn)全流程實(shí)踐,客戶(hù)對(duì)模擬駕駛的影響范圍和爆炸半徑有明顯的體感,對(duì)混沌工程的原則有了一定的認(rèn)知;
- 模擬駕駛演示后,客戶(hù)對(duì)云平臺(tái)的自愈能力和健壯性表示深度認(rèn)可,并且對(duì)后期進(jìn)行常態(tài)化、機(jī)制化的演練意向比較強(qiáng)烈;
- 客戶(hù)很樂(lè)意參與混合云模擬駕駛的共建。
3.總結(jié)及思考
偉人說(shuō)“實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)”,然而在開(kāi)展模擬駕駛之旅的過(guò)程中,是無(wú)法一蹴而就地達(dá)到實(shí)驗(yàn)的最理想狀態(tài)的,那我們可以按照怎樣的路徑去實(shí)施第一次模擬駕駛實(shí)驗(yàn)?zāi)?#xff1f;
首先,所謂模擬駕駛的實(shí)驗(yàn)性是為了探索“未知”的風(fēng)險(xiǎn),找到暗債,但是實(shí)踐中不妨先從“已知”開(kāi)始。通過(guò)對(duì)“哪里最可能出問(wèn)題”的思考和討論,我們?cè)u(píng)估出系統(tǒng)潛在的弱點(diǎn)和預(yù)期結(jié)果,這可以讓你對(duì)演練的優(yōu)先級(jí)有所把握:哪些潛在問(wèn)題更有可能發(fā)生或后果更嚴(yán)重。團(tuán)隊(duì)可以通過(guò)記錄并總結(jié)歷史故障類(lèi)型、發(fā)生頻次以及對(duì)應(yīng)的依賴(lài)項(xiàng)等,從而對(duì)“哪里最可能出錯(cuò)”有初步的認(rèn)識(shí)。當(dāng)你覺(jué)得某一項(xiàng)可能存在問(wèn)題時(shí),先從這類(lèi)場(chǎng)景注入故障會(huì)是一個(gè)好的開(kāi)始。
其次,在實(shí)驗(yàn)實(shí)施前我們需先創(chuàng)建一個(gè)假設(shè),這會(huì)是一個(gè)很好的團(tuán)隊(duì)思維練習(xí)。通過(guò)討論這個(gè)場(chǎng)景,你可以在運(yùn)行它之前對(duì)預(yù)期結(jié)果進(jìn)行假設(shè),比如這個(gè)失敗對(duì)客戶(hù)、企業(yè)或?qū)δ愕囊蕾?lài)項(xiàng)有什么影響?在運(yùn)行第一個(gè)實(shí)驗(yàn)之后,你可能會(huì)遇到兩個(gè)結(jié)果之一:驗(yàn)證了系統(tǒng)對(duì)引入的故障是否具有彈性,或者發(fā)現(xiàn)需要修復(fù)的問(wèn)題。這兩個(gè)結(jié)果都很好。如果是第一種情況,你增強(qiáng)了對(duì)系統(tǒng)及其行為的信心;如果是后者,你則在系統(tǒng)導(dǎo)致停機(jī)之前發(fā)現(xiàn)了問(wèn)題。
最后,模擬駕駛實(shí)驗(yàn)主張“在離生產(chǎn)環(huán)境越近的地方進(jìn)行實(shí)驗(yàn)越好越真實(shí)”,但我們認(rèn)為從實(shí)際情況的角度來(lái)看,這取決于組織對(duì)這一理念的接受程度。那么讓各方都比較放心的一種比較溫和的實(shí)驗(yàn)路徑是從線(xiàn)下逐漸走到生產(chǎn)。不過(guò)對(duì)于分布式系統(tǒng)而言,部署不同、流量不同都會(huì)帶來(lái)不一樣的結(jié)果,唯有在生產(chǎn)環(huán)境中進(jìn)行實(shí)驗(yàn)才能真正驗(yàn)證,否則會(huì)大大地削弱這些實(shí)踐的價(jià)值。
就如同人類(lèi)要打疫苗才能免除未知的病痛,系統(tǒng)的穩(wěn)定性建設(shè)也離不開(kāi)模擬駕駛,希望我們的團(tuán)隊(duì)可以更多地將模擬駕駛技術(shù)能力輸出,賦能更多的客戶(hù),來(lái)提升反脆弱性和系統(tǒng)穩(wěn)定性的信心!
?
?
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的模拟驾驶能力输出,赋能客户提升稳定性信心的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: E百科 | 第2期 扒一扒能加速互联网的
- 下一篇: 博时基金基于 RocketMQ 的互联网