エラーバジェット
SLO で許容される障害の量を予算として管理し、信頼性と開発速度のバランスを取る仕組み
SRE運用
エラーバジェットとは
エラーバジェット (Error Budget) は、SLO (Service Level Objective) で許容される障害の量を予算として管理し、信頼性と開発速度のバランスを取る仕組みである。Google SRE が提唱。
計算方法
計算方法を図で示す。
SLO: 99.9% の可用性
エラーバジェット = 100% - 99.9% = 0.1%
月間 (30日) のエラーバジェット:
30日 × 24時間 × 60分 × 0.1% = 43.2 分
→ 月に 43 分までのダウンタイムが許容される
SLO とエラーバジェットの関係
SLO とエラーバジェットの関係を以下に整理する。
| SLO | エラーバジェット (月間) |
|---|---|
| 99% | 7.2 時間 |
| 99.9% | 43 分 |
| 99.95% | 22 分 |
| 99.99% | 4.3 分 |
エラーバジェットの使い方
エラーバジェットの使い方を図で示す。
エラーバジェットが残っている:
→ 新機能のリリースを積極的に進める
→ リスクのある変更も許容
→ 実験的なデプロイを実施
エラーバジェットを消費した:
→ 新機能のリリースを凍結
→ 信頼性改善に注力
→ 自動テスト、モニタリングの強化
エラーバジェットポリシー
エラーバジェットポリシーを以下にまとめる。
| バジェット残量 | アクション |
|---|---|
| > 50% | 通常の開発速度 |
| 25〜50% | リスクの高い変更を控える |
| < 25% | 信頼性改善を優先 |
| 0% | 機能リリースを凍結 |
エラーバジェットのメリット
「リリースすべきか」を数値で客観的に判断でき、開発チームと運用チームの対立を共通の指標で解消する。99.999% の可用性が本当に必要かを問い直すことで過剰な信頼性投資を防止し、バジェットに余裕がある間は積極的にリスクテイクできる。
100% の可用性を目指さない理由
- エラーバジェットが 0 → 一切の変更ができない
- ユーザーの体験は ISP、デバイス、ネットワークにも依存
- 99.99% と 99.999% の差はユーザーにはほぼ分からない
- コストが指数関数的に増加する
エラーバジェットを扱う関連書籍も多い。
この記事は役に立ちましたか?
関連用語
DORA メトリクス
ソフトウェアデリバリーのパフォーマンスを測定する 4 つの指標
RPO / RTO
災害復旧の目標指標で、許容できるデータ損失量 (RPO) と復旧時間 (RTO) を定義する
トイルバジェット
SRE が手作業の運用タスク (トイル) に費やす時間の上限を設定し、自動化を推進する管理手法
エラーメッセージ
プログラムの実行時や構文解析時に問題を検出した際、原因と場所を開発者に伝える通知
ヘルスチェックパターン
サービスの稼働状態を定期的に確認し、異常を検知したらトラフィックを切り離す仕組み
SRE
Site Reliability Engineering の略で、ソフトウェアエンジニアリングの手法でシステムの信頼性を向上させる実践