混沌工程知識《五》

原文:AWS云上混沌工程實踐之對照實驗設計篇 | 亞馬遜AWS官方博客 (amazon.com)

混沌工程實驗:一個持續性迭代的閉環體系


圖3 混沌工程實驗的實踐流程

如圖3所示,完整的混沌工程實驗是一個持續性迭代的閉環體系,從初步的實驗需求和實驗對象出發,通過實驗可行性評估,確定實驗范圍,設計合適的觀測指標、實驗場景和環境,選擇合適的實驗工具和平臺框架;建立實驗計劃,和實驗對象的干系人充分溝通,進而聯合執行實驗過程,并搜集預先設計好的實驗指標;待實驗完成后,清理和恢復實驗環境,對實驗結果進行分析,追蹤根源并解決問題,并將以上實驗場景自動化,并入流水線,定期執行;之后,便可開始增加新的實驗范圍,持續迭代和有序改進。

下面我們會深入討論有關混沌工程實驗的準備事項:

  • 實驗可行性評估
  • 觀測指標設計與對照
  • 實驗場景和環境的設計
  • 實驗工具和平臺框架選型(限于篇幅,未完待續)

實驗可行性評估

可行性評估篇提供了這樣一個混沌工程實驗的可行性評估模型,從多個維度對實驗技術的成熟度做了定性分析。此處的實驗可行性評估,依照這個可行性評估模型,會針對具體的實驗需求和實驗對象進行細致評估。常見的一個形式是對照“可行性評估問題表”,對實驗對象的干系人進行訪談。可行性評估問題表的內容會包含以下幾個方面:

  • 架構抵御故障的能力:通過對實驗對象的架構高可用性的分析和評估,找出潛在的系統單點風險,確定合理的實驗范圍。
  • 實驗指標設計:評估目前實驗對象判定業務正常運行所需的業務指標、應用健康狀況指標和其他系統指標。
  • 實驗環境選擇:選擇實驗對象可以應用的實驗環境:開發、測試、預生產、生產。
  • 實驗工具使用:評估目前實驗對象對實驗工具的熟悉程度。
  • 故障注入場景及爆炸半徑:討論和選擇可行的故障注入場景,并評估每個場景的爆炸半徑。
  • 實驗自動化能力:衡量目前實驗對象的平臺自動化實施能力。
  • 環境恢復能力:根據選定的故障注入場景,評估實驗對象對環境的清理和恢復能力。
  • 實驗結果整理:根據實驗需求,討論確定實驗結果和解讀分析報告的內容項。

觀測指標設計與對照

觀測指標設計

觀測指標的設計是整個混沌工程實驗成功與否的關鍵之一。最新的調研報告“Chaos Engineering Observability: Bringing Chaos Experiments into System Observability”指出在進行混沌工程實驗過程中,系統可觀測性已成為一種“強制性功能”,良好的系統可觀測性會給混沌工程實驗帶來一個強有力的數據支撐,為后續的實驗結果解讀、問題追蹤和最終解決提供了堅實的基礎。

以下是常見混沌工程實驗的觀測指標類型:

  • 業務性指標:價值最大,探測難度最大
  • 應用健康指標:反映應用的健康狀況
  • 其他系統指標:較易獲取,反映基礎設施和系統的運行狀況

以Netflix為例,早在2008年Netflix起步流媒體,手動追蹤數百個指標,全靠人工來檢測問題。 這種方法適用于數十臺服務器和數千臺設備,但不適用于未來的數千臺服務器和數百萬臺設備。最終Netflix找到了一個可以反映業務狀況、用戶參與度的指標:每秒流視頻啟動次數SPS (stream-starts-per-second)。


SPS指標示例比較(紅色=當前周,黑色=前一周)

SPS 模式通常是比較規則的,受到假日和事件等外部影響會有所變化。上圖描繪的就是 SPS 隨時間變化的波動情況,可以看出,它有一個穩定的模式,每天 SPS 峰值發生在晚上,谷值發生在清晨。這是因為人們習慣于在晚餐時間看電視節目。假期時,白天的觀看次數增加,因為有更多的空閑時間在Netflix上觀看節目。

觀測指標對照

如果我們將過去一周的波動圖放在當前的波動圖之上,就像上圖中當前的圖線是紅色,上一周的圖線是黑色,以求找出其中的差異。由此,我們可用“受SPS影響”或“不影響SPS”來衡量業務的狀況。此外,由于 SPS 隨時間的變化可以預期,所以我們可用一周前的 SPS 波動圖作為穩定狀態的模型,并通過使用預期SPS級別與實際SPS級別來衡量業務的可用性。Netflix SPS指標的這種特性,也提醒我們應以觀測指標的<u style="box-sizing: border-box;">穩定狀態</u>進行對照。

不過可行性評估中,我們發現有很多的用戶還是無法定義一個合適的業務指標,如無法準確定義一個穩定狀態,那么我們也可以退而求其次,使用多個指標進行聯合分析來對照。具體的聯合分析方法包括:靜態閾值、指數平滑、雙指數平滑、貝葉斯檢測、馬爾可夫鏈蒙特卡羅方法(MCMC)、魯棒主成分分析(PCA)等等,后面我們可以專門來詳細討論。

實驗場景和環境的設計

實驗場景和環境的設計要努力遵循以下三大設計目標:

  • 在生產環境運行實驗
  • 持續自動化運行實驗
  • 最小化實驗場景的“爆炸半徑”

實驗場景設計

以下是亞馬遜AWS云上常見的實驗場景:


image.png

這些場景的實施能力,依賴于實驗工具和平臺框架的選型,后面我們會專門來深入討論。

實驗環境設計


實驗環境的不同,帶來不同的業務風險。生產環境的業務風險最大,開發環境的業務風險最小,其他依次類推。我們會建議用戶在生產環境上進行混沌工程實驗,當然前提是這些實驗場景和工具已經在開發/測試和預生產環境得到了驗證。當然在生產環境上進行混沌工程實驗也不是強制的,用戶可以選擇適合自己的推進節奏,逐步向生產環境靠攏。因為實驗越接近生產環境,從結果中學到的越多。同時,為了體現實驗對照的效果,在生產環境進行的混沌實驗可以通過真實生產流量分支的方式,組建控制組和對照組,以此區分故障注入的影響,從一定程度上控制了爆炸半徑。對于非生產環境的混沌工程實驗,可采用模擬生產流量的方式,盡量和生產流量相似,來驗證實驗場景和工具的可靠性。

綜上,本文是混沌工程專欄的第三篇,首先我們回顧了專欄前兩篇中的重要結論,由此引申出“如何進行對照實驗設計”這個實施性問題,并從實驗可行性評估、觀測指標設計與對照、實驗場景和環境的設計三個維度,深入分析和討論了混沌工程實驗的對照設計原則和方法,后續我們還會針對特定專題進行剖析。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,663評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,125評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,506評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,614評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,402評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,934評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,021評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,168評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,690評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,596評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,288評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,027評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,404評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,662評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,398評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,743評論 2 370

推薦閱讀更多精彩內容