什麼是 Azure 混亂 Studio Preview?

Azure 混亂 Studio 是一項受控服務,可在 Azure 應用程式中插入錯誤,以改善復原能力。 針對您的應用程式執行受控制的錯誤插入實驗(稱為混亂工程的作法),可協助您測量、瞭解和改進對真實事件的恢復能力,例如,區域中斷或應用程式失敗,導致 VM 上的 CPU 使用率過高。

為什麼應該使用混亂 Studio?

無論您正在開發的新應用程式將裝載于 Azure、將現有的應用程式遷移至 Azure,或操作已在 Azure 上執行的應用程式,請務必驗證並改善您應用程式的復原能力。 復原能力是系統處理和復原中斷的能力。 應用程式可用性的中斷會導致使用者的錯誤和失敗,而使用者可能會對您的業務或任務造成負面影響。

在雲端中執行應用程式時,若要避免這些負面後果,您必須驗證應用程式的回應是否有效,可能是因為您依存的服務、服務本身的失敗造成的中斷,或是事件回應工具和程式的中斷。 混亂測試可讓您測試雲端託管的應用程式是否可復原失敗。

何時會使用混亂 Studio?

混亂工程可用於各種不同的復原驗證案例。 這些案例橫跨整個服務開發和作業生命週期,並可分類為 右移, 其中案例最適合在生產或進入生產階段前環境中進行驗證,或 從左移, 也就是可以在開發環境或共用的測試環境中驗證案例。 通常,您應該使用實際的客戶流量或模擬負載來完成班型的案例,而不需要任何真正的客戶流量即可完成 shift 左案例。 可以套用混亂工程的一些常見案例如下:

  • 重新產生影響您應用程式的事件,以進一步瞭解失敗模式,或確定事件後修復專案將會導致事件無法重複。
  • 執行「遊戲天數」-為服務進行負載、調整規模、效能和恢復性驗證,以準備主要的使用者事件或季節。
  • 執行商務持續性/嚴重損壞修復 (BCDR) 演練,以確保如果您的應用程式受到嚴重損壞的影響,它可以快速復原,並保留重要資料。
  • 執行高可用性演練,以針對特定的失敗(例如區域中斷、網路設定錯誤、高壓力事件或雜訊鄰近問題)測試應用程式恢復能力。
  • 開發應用程式效能基準測試。
  • 規劃生產環境的容量需求。
  • 正在執行壓力測試或負載測試。
  • 確保從內部部署或其他雲端環境遷移的服務仍可復原已知的失敗。
  • 打造以雲端原生架構為基礎之服務的信賴度。
  • 在未預期的情況下,驗證即時網站工具、可檢視性資料和待命進程是否如預期般運作。

在上述許多案例中,您會先使用臨機操作混亂實驗來建立恢復功能,然後持續驗證新的部署不會回歸復原,因為您在 CI/CD 管線中使用混亂實驗作為部署閘道。

混亂 Studio 如何運作?

混亂 Studio 可讓您以安全且受控制的方式,在 Azure 資源上協調錯誤插入。 混亂 Studio 的核心是混亂實驗。 混亂實驗是一種 Azure 資源,可描述應該執行的錯誤,以及應執行這些錯誤的資源。 您可以根據自己的需求,將錯誤組織成以平行或順序方式執行。 混亂 Studio 支援兩種類型的錯誤,也就是直接針對 Azure 資源執行的 服務直接 錯誤,不需要任何安裝或檢測 (例如,重新開機 Azure Cache for Redis 叢集或新增網路延遲至 AKS pod) ,以及以代理程式為 基礎 的錯誤,這些錯誤會在虛擬機器或虛擬機器擴展集中執行,以執行來賓失敗 (例如: 套用虛擬記憶體壓力或終止處理常式) 。 每個錯誤都有您可以控制的特定參數,例如要終止的進程,或要產生多少記憶體壓力。

當您建立混亂實驗時,您會定義一或多個循序執行的 步驟 ,每個步驟都包含一或多個在步驟中平行執行的 分支 ,以及包含一或多個 動作 的每個分支,例如插入錯誤或等候特定的持續時間。 最後,您會將資源 (目標 ,) 每個錯誤都會針對稱為選取器的群組執行,如此一來,您就可以輕鬆地在每個動作中參考一組資源。

顯示混亂實驗配置的圖表。

混亂實驗是存在於訂用帳戶和資源群組中的 Azure 資源。 您可以使用 Azure 入口網站或混亂 Studio REST API 來建立、更新、啟動、取消和查看實驗的狀態。

下一步

使用下面的連結,開始建立及執行混亂實驗,以改善應用程式的應用程式恢復能力。