Chaos Engineeringとは?
chaos engineeringは、インスタンスを停止させる、ネットワークレイテンシを加える、リソースを枯渇させるといった制御された障害を注入し、システムがそれらを優雅に許容することを検証する、規律あるプラクティスです。実験は定常状態の振る舞いに関する仮説から始まり、ストレス下でシステムがそれを保つかを観察します。目的は、計画外の障害が見つける前に脆さを見つけることです。
なぜ重要か
retryやfailoverのようなレジリエンス機能は、実際のインシデントがそれらを動かすまでテストされないことが多く、そのときにうまく動かないことがあります。chaosの実験は、制御されたblast radiusの中で、意図的にそれらの防御を検証するので、弱点は午前3時に発見されるのではなく、先回りして修正されます。
関連する概念
- 実験は小さなblast radiusで区切られる
- circuit breaker、retry、failoverを検証する
- Chaos Monkeyのようなツールで広まった
関連ガイド
What Is Blast Radius?Blast radius is the scope of damage a single failure, change, or compromise can cause across systems, users,…
What Is a Circuit Breaker?A circuit breaker stops calling a failing dependency for a cooldown period to prevent cascading failures and…
What Is Graceful Shutdown?Graceful shutdown lets a process finish in-flight work and release resources cleanly before exiting, instead…