SLI / SLO / SLA

サービスレベルの定義と管理

概念の違い

SLI(Service Level Indicator)

サービス品質を測定する指標

例: リクエストの99%が200ms以内に応答

SLO(Service Level Objective)

SLIに対する目標値(内部目標)

例: 可用性99.9%を目標とする

SLA(Service Level Agreement)

顧客との契約。違反時のペナルティあり

例: 99.9%を下回った場合、サービス料金を返金

一般的なSLI

カテゴリSLI計算方法
可用性Availability成功リクエスト / 全リクエスト × 100
レイテンシLatency200ms以内のリクエスト / 全リクエスト
スループットThroughput1秒あたりの処理リクエスト数
エラー率Error Rateエラー数 / 全リクエスト × 100

9の数とダウンタイム

可用性年間ダウンタイム月間ダウンタイム
99%(Two 9s)3.65日7.3時間
99.9%(Three 9s)8.76時間43.8分
99.99%(Four 9s)52.6分4.38分
99.999%(Five 9s)5.26分26秒

エラーバジェット

エラーバジェット = 許容される障害の量(100% - SLO)

SLO: 99.9%

→ エラーバジェット: 0.1%

月間約43分の障害が許容

バジェット消費時

→ 新機能リリース停止

信頼性改善に注力

SLO設定のポイント

ユーザー視点で設定

内部メトリクスではなく、ユーザー体験に基づく

測定可能で具体的に

曖昧な「速い」ではなく「p99 < 200ms」

SLAより厳しく設定

SLO違反時にSLA違反を防ぐバッファ

定期的に見直し

ビジネス要件やユーザー期待の変化に対応