🔶SLI / SLO / SLA は SRE (Site Reliability Engineering) の重要な概念です。
SRE の目標は、システムの可用性・パフォーマンスを定量的に測定し、信頼性を維持・改善することです。
これを実現するために、SLI、SLO、SLA が使われます。
📌 1. SLI (Service Level Indicator) – サービス指標
「サービスがどれだけ正常に動作しているかを測定する指標」 のこと。
SLI は具体的なメトリクス (数値) で表され、SLO や SLA を評価するために使用されます。
🔍 例:
- 可用性: リクエストのうち、エラーにならなかった割合。
- レイテンシ: リクエストの平均応答時間やパーセンタイル (例: p99, p95) の応答時間。
- スループット: 単位時間あたりに処理されるリクエスト数。
- エラー率: エラーレスポンス数 / 全リクエスト数。
💡 SRE の視点:
SLI は、システムの状態を客観的に把握するために欠かせないものです。
信頼性の測定において最も基礎となるメトリクス。
📌 2. SLO (Service Level Objective) – サービス目標
「サービスが達成すべき信頼性の目標値」 のこと。
SLI をもとに定量的な目標を設定し、システムの状態が許容範囲内にあるかを評価するために使います。
🔍 例:
- 可用性: 99.9% のリクエストがエラーなく処理されること。
- レイテンシ: 95% のリクエストが 500ms 未満で応答されること。
- エラー率: 全リクエストのうちエラーは 0.1% 以下に抑えること。
💡 SRE の視点:
- 達成可能で現実的な値にすることが重要。
- SLO の設定は、エンジニアとビジネス側のステークホルダーで合意を取る必要がある。
- 定期的にレビューし、必要に応じて更新する。
- ここで設定された SLO は、エラーバジェットの計算にも使用される。
📌 3. SLA (Service Level Agreement) – サービス合意
「顧客とサービス提供者の間で定められた契約」 のこと。
サービス提供者が守るべき信頼性の基準と、違反時のペナルティを明記した正式な文書。
🔍 例:
- 可用性: 99.9% を下回った場合、料金の一部を返金する。
- 応答時間: サービスが 5 分以内にリクエストを処理できない場合、サポート体制を強化する。
💡 SRE の視点:
- SLA はビジネス契約であり、SLO よりも厳密である必要がある。
- 信頼性の保証に関連するリスクとコストを管理するために使われる。
- SLA の基準を守れなかった場合のペナルティも考慮する必要がある。
🔑 SLI / SLO / SLA の違いと関係性
| 用語 | 説明 | 主な利用者 | 例 |
|---|---|---|---|
| SLI | サービス指標 (測定値) | エンジニア | レイテンシ 200ms, 可用性 99.99% |
| SLO | サービス目標 (目標値) | SRE チーム | 可用性 99.9%, p99 レイテンシ < 500ms |
| SLA | サービス合意 (契約) | ビジネス契約者 | 可用性 99.9% 未満の場合は料金返金 |
🚀 SRE としての視点
- SLI の正確な測定が全ての基盤
- 監視ツール (Datadog, Prometheus など) を利用し、メトリクスを正確に測定する。
- SLO の設定はバランスが重要
- 高すぎる SLO は運用負荷を増大させる。
- 適切なエラーバジェットを確保することで、信頼性と開発の自由度を両立する。
- SLA はビジネス的リスクを伴うため、慎重に設定する必要がある
- SLA 違反時の影響を最小限に抑える仕組みを用意する。

