SLI・SLO・エラーバジェット えすえるあい・えすえるおー・えらーばじぇっと
SLISLOSLAエラーバジェットSRE可用性
SLI・SLO・エラーバジェットについて教えて
簡単に言うとこんな感じ!
SLIは「可用性99.9%」みたいな実際の測定値、SLOは「99.9%以上を目標にしよう」という目標値。エラーバジェットは「今月あと何時間だけ落ちていいか」という許容残量だよ。この3つでチームが「開発スピード」と「安定性」をバランスよく管理できるんだ。
SLI・SLO・エラーバジェットとは
SLI(Service Level Indicator、サービスレベル指標)とは、サービスの信頼性を定量的に測る指標です。代表例は「正常に処理されたリクエストの割合(可用性)」「リクエストの95パーセンタイル応答時間(レイテンシ)」などです。
SLO(Service Level Objective、サービスレベル目標)とは、SLIに対して設定する目標値です。「過去28日間で可用性99.9%以上を維持する」といった形で定義します。外部に公開するSLA(Service Level Agreement)が契約上の合意であるのに対し、SLOは内部目標として設定します。SLAより厳しい値をSLOにすることで、SLA違反を未然に防ぐバッファを設けます。
エラーバジェット(Error Budget)とは、SLOから許容される「失敗の予算」です。SLO 99.9%であれば、月間の0.1%(約43分)がエラーバジェットです。バジェットが余っていれば積極的に新機能をリリースし、バジェットが枯渇に近づけばリリースを一時停止して信頼性改善に集中するというトレードオフ管理に使います。
SLI・SLO・SLA・エラーバジェットの関係
| 用語 | 定義 | 例 |
|---|---|---|
| SLI | 実際に計測するメトリクス | 成功リクエスト率 = 99.95% |
| SLO | 内部で目指す目標値 | 成功リクエスト率 ≥ 99.9% |
| SLA | 顧客との契約上の保証値 | 成功リクエスト率 ≥ 99.5% |
| エラーバジェット | SLOから計算される許容失敗量 | 月間 43.2分のダウンタイム |
主なSLI候補
| カテゴリ | SLI例 |
|---|---|
| 可用性 | 成功レスポンス率(5xx以外の割合) |
| レイテンシ | P95・P99応答時間 |
| スループット | 秒間リクエスト処理数 |
| エラー率 | エラーレスポンスの割合 |
| 鮮度 | データの最終更新からの経過時間 |
歴史と背景
- 2003年:GoogleがSRE(Site Reliability Engineering)チームを設立。SLO概念の原点
- 2016年:Google SRE本でSLI・SLO・エラーバジェットの概念が一般に公開
- 2018年:The Site Reliability Workbookでより実践的な事例が紹介
- 2019年〜:GCP・AWS・Azureがクラウド上のSLO管理ツールを提供開始
エラーバジェット管理のイメージ
関連する規格・RFC
| 資料 | 内容 |
|---|---|
| Google SRE Book(2016) | SLI・SLO・エラーバジェットの概念の原典 |
| The Site Reliability Workbook(2018) | SLO実践の詳細ガイド |
関連用語
- アラート設計 — エラーバジェット燃焼率を使ったアラート設計
- メトリクス・カスタムメトリクス — SLIを計測するためのメトリクス
- ダッシュボード — SLO・エラーバジェットを可視化
- 外形監視(Synthetics) — 外部からSLIを計測する手法