Mímisbrunnr知恵の泉

← クラウドインフラ 一覧

🎓 レベル:標準 | 重要度:A(必須)

📎 前提:監視とアラート設計 | 関連:インシデント対応とポストモーテムDevOps文化とDORA 4指標

要点(BLUF)

概念 ── 信頼性は「機能」

従来、開発は「速く出したい」、運用は「壊したくない」で対立しました。SREはこれを**共通の数値(エラーバジェット)**で調停します。考え方の中心は「信頼性は高ければ良いのではなく、ちょうどよい水準がある」。100%可用性は不可能で、目指すほどコストが指数的に増え、機能開発が止まります。

flowchart LR
    sli["SLI(測る):成功した割合・速さ"] --> slo["SLO(目標):例 99.9%にする"]
    slo --> budget["エラーバジェット:残り0.1%は失敗してよい"]
    budget -->|"残あり"| ship["速く新機能を出す"]
    budget -->|"使い切り"| stable["リリースを止め安定化に注力"]

仕組み ── SLI・SLO・エラーバジェット

SLI(Service Level Indicator)=サービスの良さを測る実測値。代表例:

SLO(Service Level Objective)=SLIに対する目標値。「直近28日で可用性99.9%」のように期間付きで決める。ユーザーが満足する最低ラインを狙う(高すぎず低すぎず)。

エラーバジェット100% − SLO許容される失敗の総量。SLO 99.9% なら 0.1% は失敗してよい。リクエストが月100万なら約1000回までの失敗が予算内

flowchart TB
    total["全リクエスト(月100万)"] --> ok["成功 99.9%(999,000)"]
    total --> budget["エラーバジェット 0.1%(約1,000回まで許容)"]
    budget -->|"消費が早い"| halt["新規リリース凍結(07-02 のバーンレート)"]
    budget -->|"余裕あり"| release["積極的にリリース"]

SLA(Service Level Agreement)と混同しない。SLAは顧客との契約(破ると返金等のペナルティ)。SLOは社内の目標で、通常 SLA より厳しく設定し、余裕を持って SLA を守る。

なぜエラーバジェットなのか

⚠️ よくある誤解・落とし穴

対応ラボ

なし(概念トピック)。SLI の材料となるメトリクス収集は メトリクス・ログ・トレース(3本柱) のラボで。SLO/バーンレートのアラートは Prometheus を拡張して実装(要最新確認)。

関連

第8章 SREと信頼性 目次