第42章: 予防

最良のインシデントは、決して起きないインシデントです。予防は、リアクティブな対応からプロアクティブなレジリエンスへ焦点を移します。すべての障害を防ぐことはできませんが、意図的なエンジニアリングプラクティスはインシデントのクラス全体を排除し、発生するインシデントの深刻度を軽減できます。

カオスエンジニアリングは、実際のインシデントを引き起こす前に弱点を発見するために、本番システムに意図的に障害を注入する実践です。ゲームデイ——チームが大規模な障害をシミュレートする計画された演習——は、技術的なレジリエンスと人間の準備態勢の両方を構築します。プレモーテムはポストインシデントレビューを逆転させます:新しいシステムを立ち上げる前に、チームはすでに壊滅的に失敗したと想像し、何がうまくいかなかった可能性があるかを逆算して特定します。

手作業の自動化は強力な予防措置です。ランブックのすべての手動ステップは、ストレス下での人的エラーの機会です。ルーチンの運用タスク——証明書のローテーション、キャパシティスケーリング、フェイルオーバー手順——を自動化することで、これらのエラーが起きやすいステップを排除し、エンジニアが新しい問題に集中できるようにします。深層防御は、単一の障害がサイト全体のアウテージにカスケードしないことを保証します。

予防は最終的には文化的な実践です。セキュリティレビュー、負荷テスト、責任を問わないポストインシデントプロセスに投資する組織は、信頼性が全員の責任である文化を構築します。インシデント再発クラスの追跡——同じタイプのインシデントが二度と起きないことを確保する——は、組織が障害から単に生き残るのではなく学んでいることの最も強いシグナルです。