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