可用性を超えてレジリエンスを定義する
レジリエントな基盤は障害時も業務を支え、新市場の追加、連携先の交換、新しいチームの参加にも全面再構築なしで対応できます。
一時的な外部サービス停止、急な利用増加、制度変更、重要担当者の離任など、具体的なシナリオを定義します。抽象的な理念ではなく、検証可能な能力として扱えます。
組織的な耐障害性には、可用性監視だけでなく、変更承認、復旧訓練、責任分担、連絡手順、顧客影響判定を含む運用設計が必要です。障害発生時に個人記憶へ依存せず、役割別の手順と判断基準で安全に復旧できる状態を目標にします。
機能間に明確な境界をつくる
業務領域、インターフェース、責任を分離します。明確な境界は影響の連鎖を抑え、一部の変更を全体の不安定化につなげません。
境界は設計図だけでなく、コード、権限、データ、運用責任にも表れる必要があります。全体を理解しなくても、担当チームが安全に問題を切り分けられる状態を作ります。
能力境界は組織図ではなく、業務責任、データ所有、変更頻度、障害影響を基準に定義します。境界を越える連携には明確な契約、互換性方針、廃止手順、監視責任を設定し、暗黙依存の増加を防止します。
データ契約をプロダクトとして扱う
スキーマを版管理し、項目の意味を文書化し、移行経路を準備します。データ互換性は技術部品の交換以上に重要です。
新旧バージョンが共存する期間を計画します。段階的移行、非推奨項目、互換性確認を用意すれば、実データで問題が見つかったときにも安全に戻せます。
データ契約には項目定義、品質条件、更新時刻、保持期間、利用権限、変更通知、移行期間を含めます。契約変更を版管理し、提供側と利用側が自動検証できれば、静かな破壊的変更と長期的な不整合を早期発見できます。
障害と劣化を観測可能にする
ログ、メトリクス、トレース、アラートを、影響を受ける利用者や業務フローと結び付けます。
有効なアラートは、対象サービス、影響する利用者や業務、緊急度、診断手順を示します。行動につながらない通知が多いと、重要な兆候が埋もれます。
観測設計では技術指標と業務指標を結び付けます。応答時間、失敗率、処理遅延だけでなく、未完了申請、重複処理、顧客問い合わせ、手動復旧件数も監視し、影響範囲を即時判断できる状態を作ります。
チームやベンダーの変更に備える
意思決定を記録し、デプロイを自動化し、重要な知識や権限が一人や一社に依存しないようにします。
運用手順、設計判断、復旧方法は、作成者以外の人が実際に試します。暗黙知が明らかになり、文書が本当に使える運用能力へ変わります。
担当交代や供給者変更に備え、構成情報、設計判断、運用手順、契約条件、秘密情報管理、復旧検証を組織資産として保存します。定期的な引継演習によって、文書の不足と特定人物への依存を事前に発見できます。
変更と復旧のコストを測る
復旧時間、再発障害、安全な変更に必要な時間、手作業への依存を追跡し、改善を継続します。
復旧時間だけでなく、新しい担当者の立ち上がり、サービス交換、制度変更の実装に必要な時間も測ります。脆弱な期間を作らず変更できることがレジリエンスです。
変更時間、失敗変更率、平均復旧時間、移行費用、影響部門数を継続測定します。指標を四半期ごとに比較し、結合度、試験不足、手作業、知識不足のどこが改善速度を制限しているかを特定します。
フィードバック
