Azure Chaos Studio 是一項受管理的服務,使用混沌工程來協助您測量、了解及改善雲端應用程式和服務復原能力。 Chaos 工程是一種方法,可讓您將真實世界錯誤插入應用程式,以執行受控制的錯誤插入實驗。
復原是系統處理及從中斷復原的功能。 應用程式中斷可能會導致錯誤和失敗,因而對您的企業或任務造成負面影響。 無論您是開發、移轉或操作 Azure 應用程式,請務必驗證及改善應用程式的復原能力。
Chaos Studio 可驗證應用程式有效地回應中斷和失敗,協助您避免負面後果。 您可以使用 Chaos Studio 來測試真實世界事件 (例如虛擬機器 (VM) 上的中斷或高 CPU 使用率) 的復原能力。
下列影片提供有關 Chaos Studio 的更多背景:
Chaos Studio 案例
您可以針對跨越服務開發和作業生命週期的各種復原驗證案例使用混沌工程。 案例有兩種類型:
- 向右移位:這些案例使用生產環境或生產階段前環境。 通常,您會使用實際的客戶流量或模擬負載來執行向右移位案例。
- 向左移位:這些案例可以使用開發或共用測試環境。 您可以執行向左移位移案例,而不需要任何真正的客戶流量。
您可以針對下列常見的混沌工程案例使用 Chaos Studio:
- 重現影響應用程式的事件,以進一步了解失敗。 請確定事件後修復可防止事件重複發生。
- 準備為主要事件或季節提供「遊戲日」負載、規模、效能和復原驗證。
- 執行商務持續性和災害復原演練,以確保您的應用程式可以快速復原,並在災害中保留重要資料。
- 執行高可用性演練,以針對區域中斷、網路設定錯誤、高壓力事件或吵雜的鄰近問題測試應用程式復原能力。
- 開發應用程式效能的效能評定。
- 規劃實際執行環境的容量需求。
- 執行壓力測試或負載測試。
- 請確定從內部部署或其他雲端環境遷移的服務仍可復原到已知失敗。
- 建置在服務中的信賴度基於雲端原生架構。
- 驗證即時網站工具、可檢視性資料和待命程序仍會在非預期情況下運作。
在這些案例中,您要先使用臨機操作的混沌實驗來建置復原能力。 然後,您持續驗證新的部署不會迴歸復原能力。 若要檢查,您會在持續整合/持續部署管線中,以部署閘道的形式執行混沌實驗。
Chaos Studio 的運作方式
透過 Chaos Studio,您可以在 Azure 資源上協調安全及受控的錯誤插入。 混沌實驗是 Chaos Studio 的核心。 混沌實驗描述要執行的錯誤,以及要執行的目標資源。 您可以根據需求,組織錯誤以平行或序列執行。
Chaos Studio 支援兩種類型的錯誤:
- 服務直接:這些錯誤會直接針對 Azure 資源執行,無需任何安裝或檢測。 範例包括重新啟動 Azure Cache for Redis 叢集,或將網路延遲新增至 Azure Kubernetes Service Pod。
- 代理程式型:這些錯誤會在 VM 或虛擬機器擴展集中執行,以執行客體內失敗。 範例包括套用虛擬記憶體壓力或終止程序。
每個錯誤都有您可以設定的特定參數,例如要終止的程序,或要產生多少記憶體壓力。
Chaos Studio 現在支援代理程式型和服務直接目標的 IPv6 連線 (雙堆疊 IPv4/IPv6)。
當您建置混沌實驗時,可以定義一或多個循序執行的步驟。 每個步驟都包含在步驟中平行執行的一或多個分支。 每個分支都包含一或多個動作,例如插入錯誤或等候特定持續時間。
您可以組織資源目標,對名為選取器的群組執行錯誤,以便您可以輕鬆地在每個動作中參考一組資源。
下圖顯示 Chaos Studio 中混沌實驗的配置:
混沌實驗是訂用帳戶和資源群組中的 Azure 資源。 您可以使用 Azure 入口網站或 Chaos Studio REST API 來建立、更新、啟動、取消和檢視實驗的狀態。
後續步驟
現在您已了解如何使用混沌工程,接下來您已準備好: