LESSON 30分

ストーリー

田中VPoE
エラーバジェットの概念を理解した。次は実践だ。理論は美しいが、実際にSLOを設計しようとすると「何を測ればいいのかわからない」「目標値をどう決めればいいのか」という壁にぶつかる
あなた
確かに、概念はわかっても具体的な設計は難しそうです
田中VPoE
よくある失敗は、インフラ指標(CPU使用率、メモリ使用率)をSLIにしてしまうことだ。サーバーは元気なのにユーザーは困っている、という状態が見えなくなる
あなた
ユーザー視点の指標を選ぶことが重要なんですね
田中VPoE
そうだ。そして、SLOは「設定して終わり」ではない。運用しながら調整する仕組みも含めて設計する必要がある

SLO設計の5ステップ

ステップ1: ユーザージャーニーの特定

ECサイトの例:

ユーザージャーニー:
  1. トップページにアクセス
  2. 商品を検索
  3. 商品詳細を閲覧
  4. カートに追加
  5. 決済を完了

クリティカルジャーニー(最重要):
  → 4. カートに追加 〜 5. 決済を完了

理由: ここで障害が起きると直接的な売上損失

ステップ2: SLIの選定

ジャーニーSLIタイプ具体的なSLI
トップページレイテンシページ読み込み完了 ≤ 2秒の割合
商品検索可用性 + レイテンシ検索API成功率、P99 ≤ 300ms
商品詳細可用性商品詳細ページの正常表示率
カート操作可用性 + 正確性カートAPI成功率、在庫整合性
決済可用性 + 正確性決済成功率、金額計算の正確性

ステップ3: SLO値の決定

判断基準方法
現状のパフォーマンス過去30日のデータからベースラインを取得
ビジネス要件売上影響、競合水準、顧客期待
技術的実現可能性アーキテクチャの制約、依存サービスの信頼性
コスト9を1つ増やすためのコスト見積もり
SLO決定の具体例:

1. 現状の可用性を測定: 99.85%(過去90日平均)
2. ユーザー要求を分析: サポート問い合わせの40%が「つながらない」
3. 競合水準を確認: 業界平均 99.9%
4. コスト分析:
   - 99.9% → 現行アーキテクチャの改善で実現可能
   - 99.95% → マルチリージョン化が必要(+月50万円)
   - 99.99% → 専用インフラ + 24/7オンコール(+月200万円)

→ SLO: 99.9%(現実的かつ改善が必要な水準)

ステップ4: エラーバジェットポリシーとの連携

SLOエラーバジェット(月間)バジェット枯渇時のアクション
可用性 99.9%43.2分新機能リリース凍結
検索レイテンシ P99 ≤ 300ms(99.5%)月間リクエストの0.5%パフォーマンス改善スプリント
決済正確性 99.99%月間決済の0.01%決済システム緊急レビュー

ステップ5: 継続的な改善

活動頻度内容
SLIダッシュボードレビュー毎日バーンレートの確認
SLO達成度レポート毎週週次の達成状況をステークホルダーに共有
SLO見直し会議四半期SLO値の妥当性を評価、必要に応じて調整
ユーザー満足度との相関分析半期SLOとNPS/CSATの相関を検証

SLO設計のアンチパターン

よくある間違い

アンチパターン問題正しいアプローチ
インフラ指標をSLIにするCPU 80%でもユーザーは困らないかもしれないユーザー体験指標を使う
SLOを100%にするエラーバジェットがゼロで何も改善できないビジネスに必要な水準を設定
SLOが多すぎる管理不能、どれが重要かわからないサービスあたり2-4個のSLO
全サービス同じSLO重要度が違うのに同じ目標クリティカリティに応じて差別化
SLOを変更しないビジネス環境の変化に追従できない四半期レビューで調整
平均値を使う外れ値が隠されるパーセンタイル(P99、P95)を使う

「正しそうだが間違い」の事例

間違い: 「サーバーの死活監視の成功率 = 可用性SLI」
問題: サーバーは生きているがアプリがハングしている場合を検出できない
正解: 「ユーザーリクエストの成功率 = 可用性SLI」

間違い: 「平均応答時間 200ms → SLO達成」
問題: P99が10秒でも平均は200msになりうる。1%のユーザーは10秒待っている
正解: 「P99応答時間 ≤ 500ms(99.5%のリクエスト)」

間違い: 「月間可用性 99.9% → 全時間帯で均等に43.2分使える」
問題: ピーク時間帯の1分とオフピークの1分は影響が全く違う
正解: 時間帯加重SLOの検討、またはピーク時間帯のみのSLOを追加

SLOドキュメントテンプレート

記載すべき項目

セクション内容
サービス概要サービス名、オーナー、依存サービス
ユーザージャーニー主要なユースケースとクリティカルパス
SLI定義各SLIの計算式とデータソース
SLO値目標値、計測ウィンドウ、根拠
エラーバジェット月間バジェット量、消費時のアクション
除外事項SLO計測から除外する条件
レビュースケジュールSLOの見直し頻度と担当者

まとめ

ポイント内容
設計の起点ユーザージャーニーからSLIを導出する
SLO値の決定現状ベースライン × ビジネス要件 × コスト制約
アンチパターンインフラ指標、100%目標、平均値は避ける

チェックリスト

  • SLO設計の5ステップを理解した
  • ユーザージャーニーからSLIを導出する方法を理解した
  • SLO設計のアンチパターンを理解した

次のステップへ

次は「エラーバジェットポリシー」です。エラーバジェットの消費に応じた具体的なアクションを定義するポリシーの策定方法を学びましょう。


推定読了時間: 30分