第28章: 障害(アウテージ)
アウテージは、システムのフォールトトレランスを超える障害の目に見える結果です。十分な数のコンポーネントが同時に障害を起こした場合、またはカスケード障害が依存関係を通じて伝播した場合、システムはユーザーにサービスを提供できなくなります。アウテージは分散システムの生涯における最も重大なイベントです。
アウテージにはさまざまな原因があります。ハードウェア障害は個々のサーバーやラック全体をダウンさせます。ソフトウェアバグはサービスのすべてのインスタンスを同時にクラッシュさせることがあります。設定エラーはルーティング、セキュリティ、キャパシティパラメータを誤って構成する可能性があります。依存先の障害は、障害を起こしたサービスがその依存元をキューに詰まらせ、最終的に障害に至るカスケードを引き起こします。過負荷は、トラフィックがシステムのキャパシティを超えた場合に発生します。
アウテージの影響は、そのスコープ(影響を受けるユーザー数)、期間(どのくらい続くか)、深刻度(データが失われるのか、単にアクセスできなくなるだけなのか)によって決まります。ユーザーの1%に影響する1分間の部分的なアウテージと、データ損失を伴う1時間の完全なアウテージはまったく異なるものです。インシデント分類システムは、組織がアウテージに適切に対応するためのトリアージを支援します。
アウテージから得られる最も重要な教訓は、アウテージは単に乗り越えるだけでなく、研究されるべきだということです。ポストインシデントレビュー(責任を問わない振り返り)は、根本原因、寄与要因、そして将来の同様のアウテージを防止する是正措置を特定します。これらのレビューから得られた知見は、時間をかけて蓄積され、システムをより耐障害性の高いものにする組織的知識となります。