日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

聊聊混沌工程

發布時間:2023/12/31 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 聊聊混沌工程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是鼎叔的第五十四篇原創文章。行業大牛和剛畢業的小白,都可以進來聊聊。

歡迎關注本專欄和微信公眾號《敏捷測試轉型》,大量原創思考文章陸續推出。

混沌工程是一門新興學科,它不僅僅只是個技術活動,還包含如何設計能夠持續協作的混沌實驗。它由Neflix首先在實踐中發現了混沌工程的商業價值,通過構建更有韌性的系統來抵御海量組件系統的意外失效。本文還會聊聊混沌工程的概念澄清,原則,投資回報和成熟度模型。

本文的內容參考了《混沌工程-復雜系統韌性實現之道》,作者是Casey Rosenthal,Nora Jones。

Neflix的混沌猴

Neflix的高績效文化體現在管理層和技術人員的有趣協作,管理者不會告訴技術人員要做什么,而是確保他們了解要解決什么問題,并信任技術工程師,讓他們決定工作的完成方式。

為了解決大型數據中心的實例無故消失問題,工程師嘗試了各種方法,最終只有混沌猴這種方法保留下來。原理非常簡單,遍歷集群列表,從每個集群中隨機選一個實例,在每個工作日的某個時間點將其關閉且不會發出警告。工程師只有解決了問題才能進行其他工作,不管是增加冗余,還是增加自動化容量伸縮,或是架構層面設計優化,都帶來了可觀的成效。

不幸的是,隨機性混沌注入方法,在分布式系統上的效果都不好,故障的組合空間巨大,且并不孤立。隨機方法也無法告訴我們實驗的覆蓋情況,應該進行多長時間才能得出結論。

替代隨機搜索的方法,就是利用系統專家的領域知識來推動實驗探索,利用之前實驗觀察形成新的假設并逐步完善。專家對故障注入進行篩選,決定哪些實驗不需要進行,避免重復。專家還會決定實驗的運行順序,盡可能提高知識增加的速度。專家也需要可觀測的基礎設施,越豐富越好。

混沌猴后來升級為混沌金剛,使某個AWS區域關閉,驗證AWS區域性故障的解決方案,大幅提升了組織內部對于故障的處理速度。后面即使發生多起停機事故,混沌金剛使用的區域故障轉移機制都發揮了作用。

混沌工程由此被定義:它是分布式系統上進行實驗的學科,目的是建立該系統能夠承受生產環境的動蕩條件的信心。不需要建立對系統的信心,就不需要混沌工程。

混沌工程通過提供可能超出“快樂路徑”(即系統構建的默認路徑,沒有異常或錯誤情況)的各種條件和變化參數,來做到這一點。

如今混沌工程已經形成了強大的專業社區。

復雜系統

混沌工程這門科學要尋找系統存在弱點的證據,它們會隱藏在系統的本質復雜性中。復雜系統因為非線性導致不可預測,必然會導致不良結果。系統內的部件所發生的變化會導致系統輸出發生指數級變化。輸出難以模擬或建模,導致傳統的探索系統安全性的方法不夠充分。

復雜系統中,不同服務模塊各自都有合理的設計決策和監控處理機制,但仍然會出現難以意料的崩潰。

比如場景一,少量用戶的消息異常不斷重試,可能導致服務降級,進而觸發更大范圍的重試風暴,導致服務不可用。

場景二,導入的程序庫出現的內存泄漏,可能會隨著服務請求數量的增加而緩慢增長,直到影響大量實例的錯誤率,導致局部停機。

面對復雜性,人月神話(聊聊沒有35歲焦慮的《人月神話》)將其分類為偶然復雜性和本質復雜性,前者是在資源有限的項目中編寫代碼,必然產生各種債務-代碼劣化、含糊的契約、廢棄的代碼路徑、不清晰的變量名等。編寫軟件和理解軟件如何失效,完全是兩件不同的事情。

沒有可持續的方法來解決偶然復雜性,甚至新系統會做得更加復雜。對于本質復雜性,只要添加新功能就會增加。

既然無法避免復雜性,那就接納它,學會如何應對,而混沌工程就是最有效可行的利器。推薦兩個應對復雜系統的模型。

一 動態安全模型

這模型有三個屬性:經濟性(投入的成本),工作量和安全性。工程師對成本和工作量有邊界直覺,但是對安全性缺乏直覺。安全事故通常都是意料之外的,而工程師只會對能看到的地方進行優化。混沌工程就是培養工程師安全性直覺的,進而默默地改進行為,讓系統更有韌性。

二 經濟支柱模型

復雜性有四個經濟支柱:狀態,關系,環境,可逆性

一個研發組織控制某個支柱的程度,能反映出組織應對競爭性生產過程的復雜性的成熟度。一個汽車大廠可以控制產品狀態(有限的款式),關系(上下游產業鏈的供貨關系),環境(對外部法規的影響),但沒法控制可逆性,汽車制造容易回退難。

一個應用程序的功能(狀態)大多不斷在增加,而無法簡化。組件關系和人際關系都在復雜化。大多軟件公司都沒有影響環境的規模化能力。只有可逆性是軟件團隊可以大放異彩的支柱(即不斷修改完善軟件)。

而混沌工程實驗能夠揭示系統哪些方面違背了“可逆性”。

混沌工程的原則

混沌工程的通用解釋,是“促進發現系統弱點的實驗”,分為四個步驟

1 先定義“穩態”(steady state),系統行為正常時有哪些可以度量的輸出

例如,在XXXX情況下,用戶依然擁有良好的體驗,表現在XXX數據上。

在XXX事件發生時,技術人員會得到XXX提醒。

2 建立假說,對照組和實驗組都會持續這種穩態。

3 引入體現真實事件的變量。選擇變量常見的誤區是,工程師的選擇標準經常是容易執行的,基于自身體驗而不是用戶體驗的。有些“異常事件”在現實世界不太可能發生,這就不是好的引入變量。

4 通過在對照組和實驗組之間尋找穩態差異來推翻假說

混沌工程原則提供了五項高級實踐及黃金標準:建立穩態行為假說,多樣化引入現實世界的事件,在生產環境實踐,持續運行自動化實驗,最小化爆炸半徑

為了給真正關心的生產環境建立信息,高級的混沌工程都在生產環境發生,但是初始階段先在準生產系統上實驗也是有意義的。

自動化提供了規模化搜索的方法,比人手動操作,能覆蓋更多的實驗集;隨著時間的推移能低成本地持續驗證經驗假設,及時發現系統的變化。

設計更安全的實驗方法,將對生產環境中用戶流量的負面影響降到最低,還帶來加強信號檢測效果的好處。

聚焦用戶體驗是所有高級原則的基礎。

對混沌工程的常見誤解

一 實驗和測試是不同的

實驗并不知道如何斷言,而是通過假說的驗證或推翻來得到新知識。源于應對復雜系統問題,所以混沌工程更多體現“未知的實驗性”而非“已知的測試性”,主張驗證有效性,而不是檢查如何工作。

二 混沌工程并非人們誤解的“搞破壞”

單純搞破壞,很難做到減小爆炸半徑,和漏洞的批判性思考。混沌工程最終的價值是修復生產環境的漏洞

三 很多人認為塔勒布的《反脆弱》理論和混沌工程在本質上是一樣的。

實際上兩個流派分歧很多,反脆弱缺乏軟件工程學的同行評審和理論基礎,給出的解決手段(如增加冗余)可能會帶來更多風險。反脆弱希望給系統引入混沌,而混沌工程希望發現復雜系統的固有混沌。

四 軟件接口設計不規范等問題能否通過混沌工程來發現

接口契約不匹配的協商解決,是開發過程的一部分,無需納入混沌工程來解決,這些已知屬性問題最好通過軟件測試解決。混沌實驗主要為不確定的自動化行為提供信心,它發現的BUG往往是多個細微邏輯錯誤的組合,以及時間相關性故障。

注意,被選定實驗的特定服務及其依賴服務,如果存在已知的關鍵缺陷,要先修復后再進行實驗,否則我們不能從實驗中學到確定的新東西。

混沌工程的投資回報

只有事故真的發生了,才能有故事可講。”-- John Allspaw

混沌工程是一門務實的學科,旨在為企業提供價值。但是如何證明混沌工程的回報是令人困惑的。

系統可用性指標的上升,是否應該歸功于混沌工程實踐呢?混沌工程觸發的改進,傾向于給其他業務增加壓力,比如犧牲了發布速度,那如何確定收益率呢?

Kirkpatrick模型提供了一種評估投資回報率的方法,原本用于教學培訓領域,它把評估分解為四個遞進的級別:反應(混沌工程示范對受訓者有幫助,是否支持維持或加大該實驗),學習(證明并列舉團隊學到了什么),轉移(把知識轉化為實踐,發生了行為變化,提高了協作效率,提高了應急成熟度),結果(混沌工程的總成本,與商業結果價值進行比較)。每一級是否評價為積極,就展示了對應的投資回報。

混沌成熟度模型

成熟度模型橫軸是采用度,縱軸是復雜性

“采用度”考慮這幾個因素:接受者,參與者,采用門檻(是否有觀測工具,積極討論的共識,經得起考驗的假說,一致的響應行動),采用障礙(業務的擔心,合規性,從未發生過事故,難以衡量回報率)

“復雜性”,會隨著實驗的發展而提升,如下所示:

  • 1 Game Day,實踐試水,復雜性低,但是消耗大量人力,無法在大量服務上規模化執行。

  • 2故障注入框架。工具可以讓多個團隊進行實驗,進行更多跨功能性的學習。

  • 3 實驗平臺。滿足更好實驗的需求,在對照組和變量組進行安全對比,控制最小爆炸半徑。每個實驗都要被平臺監控。

  • 4 平臺自動化。完全自動化進行的混沌工程,包括實驗的創建、優先級排序、執行和推翻/終止。平臺能夠“自我反省”,只自動運行哪些對實驗假說有可量化期望的實驗。

平臺還可以進一步進行能力升級,如控制“混沌預算”,使用組合實驗變量構建實驗,自動修復漏洞。

被引入的實驗變量也可以不限于基礎設施層級,還可以是應用程序邏輯層的變量-比如給服務返回出乎意料的響應。

??????基于混沌成熟度繪制的表格,就可以看到本組織所處的位置,確定如何技術投資的路徑,達到高復雜性與高參與度,讓混沌工程創造最大的價值。

下一篇,我們詳細介紹各大企業實踐混沌工程的優秀流程,經驗教訓,人和組織的能力提升,從中學習到了哪些洞見。

總結

以上是生活随笔為你收集整理的聊聊混沌工程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 不卡一区二区在线观看 | 日批免费观看 | 一女三黑人理论片在线 | 丝袜美腿亚洲综合 | 天堂网久久 | 黄色精品一区二区 | 日韩一级免费 | 麻豆精品在线观看 | 日韩精品免费一区 | 男女涩涩 | 亚洲熟妇无码一区二区三区导航 | av尤物在线 | 国产精品久久久久一区二区三区 | 国产视频一区二区在线 | 性工作者十日谈 | 亚洲欧美国产精品专区久久 | 国产96在线 | 免费看的一级片 | 亚洲区自拍| 在线观看免费观看在线 | 黄色小视频免费看 | 四虎精品欧美一区二区免费 | 亚洲黄色视屏 | 欧美日韩国产免费观看 | 在线免费观看黄色网址 | 伊人av网站 | 夜夜嗨av| 成人片黄网站久久久免费 | 婷婷丁香花五月天 | 国产 福利 在线 | 中文字幕一区二区在线播放 | 国产在线免费av | 亚洲免费色图 | 欧美精品一区二区三区久久久竹菊 | 非洲一级片 | 少妇被爽到高潮动态图 | 激情综合网五月婷婷 | 91丨porny丨尤物 | 国产欧美一区二区三区另类精品 | 欧美精品在线观看一区二区 | 久久精品国产一区二区三区 | 黑人激情视频 | 色综合999| 北条麻纪在线观看aⅴ | av基地| 第一区免费在线观看 | 波多野结衣中文在线 | 欧美深夜福利 | 欧美成人黄色小视频 | 吻胸摸激情床激烈视频大胸 | av在线免费不卡 | 中文字幕日韩三级片 | 久久密av | 成人免费毛片男人用品 | 欧美色悠悠 | 亚洲a v网站 | 婷婷欧美 | 国产亚洲欧美在线 | 日本超碰| 欧美精品免费看 | 少妇15p| 最新久久 | 欧美精品片| 欧美黄色一级网站 | 超碰免费在线播放 | 天堂中文在线观看 | 色呦呦一区 | 日韩久久电影 | 欧美黄色大片免费观看 | 免费毛片av| 天天操夜夜摸 | 国产精品xxx视频 | 大桥未久av一区二区三区中文 | 亚洲欧洲视频在线观看 | 国产视频a | 美女啪啪网址 | 中文字幕一二三四区 | 秋霞一区 | 白石茉莉奈黑人 | 亚洲一区二区三区四区五区午夜 | 图片区 小说区 区 亚洲五月 | 精品国产理论 | 久久久水蜜桃 | 波多野结衣在线影院 | 中国黄色免费网站 | 精品国产一区二区三区久久久蜜月 | 色吊丝av中文字幕 | 亚洲天堂视频在线观看 | 日本黄色大片免费看 | 日韩久久电影 | 日本熟女一区二区 | 黄床大片| 97视频入口| 久久精品亚洲精品 | 亚洲视频网站在线 | av秋霞 | 色综合久久久久综合体桃花网 | 四虎毛片 | 国产伦精品一区二区三区视频我 |