Time to Restore Service(サービス復旧時間)とは?
サービス復旧時間は、本番環境での障害から回復するのにかかる時間 - サービスが劣化した瞬間から再び正常になる瞬間まで - を測定する DORA メトリクスです。
完全に信頼できるシステムは存在しないため、DORA はどれだけ頻繁に障害が起きるかだけでなく、どれだけ速く回復するかも問います。サービス復旧時間はレジリエンスをスピードの問題として捉え直します。勝つチームは決して壊れないチームではなく、素早く修復するチームです。
何を測定するのか
サービス復旧時間は、本番障害の継続時間 - 検知(または発生)からサービスが通常運用に復旧するまで - を追跡します。これはチームがプレッシャーの下で問題をどれだけうまく検知、診断、修復できるかを反映するため、運用の成熟度を示す重要な指標です。
なぜ速い回復が最も重要なのか
障害は避けられないため、素早く回復する能力は障害頻度をゼロに減らすことよりも重要であることが多いです。数分でサービスを復旧できるチームは、たとえ障害の頻度が低くても数時間かかるチームよりも、時折のインシデントにはるかにうまく耐えられます。
何がそれを短縮するのか
優れたオブザーバビリティを通じて問題を早期に検知し、明確なテレメトリと runbook で診断し、速い rollback や feature flag のような安全で十分に練習された仕組みで修復できるとき、回復は速くなります。deploy と rollback の pipeline が速く信頼できるほど、このメトリクスは低くなります。
ロールバックとフィーチャーフラグ
最も大きなてこは、多くの場合、変更を素早く元に戻す能力です。自動化された rollback と feature flag により、チームは前方修正を急いで出荷する代わりに、悪い変更を数秒でオフにでき、サービスが損なわれる時間を劇的に短縮します。
練習が現実にする
回復のスピードは練習しなければ衰えるスキルです。インシデント対応をリハーサルし、game day を実施し、chaos engineering を行うチームは回復の筋肉を強く保つため、実際のインシデントが起きたとき、対応は場当たり的ではなく落ち着いて速くなります。
重要なポイント
- サービス復旧時間は、本番障害からどれだけ速く回復するかを測定します。
- 障害は避けられないため、速い回復はまれな障害よりも重要であることが多いです。
- オブザーバビリティ、ロールバック、feature flag、リハーサル済みの対応がすべてこれを短縮します。