SLI/SLO設計2026完全ガイド|ユーザージャーニー×コンポジットSLOで信頼性を可視化

ユーザージャーニーベースのSLO設計とコンポジットSLOの実装手法を徹底解説。OpenSLO v1.1対応の実践ガイドで今すぐ設計を見直す。

SLI/SLO設計の深化2026|ユーザージャーニー×コンポジットSLOで信頼性を可視化する

2026年現在、SLI/SLO設計はもはや「サービスの可用性を測る」だけの領域を大きく超えました。ユーザーが実際に体験する価値をどう定量化するか、複数サービスにまたがる依存関係をどうまとめるか、そしてOpenSLO v1.1をはじめとする標準化の流れがエンジニアに新たな設計思想を求めています。

この記事では、2026年時点で注目されているユーザージャーニーベースのSLO設計コンポジットSLOの考え方を軸に、実装例・ツール選定・運用ノウハウを体系的に解説します。


なぜ2026年にSLI/SLO設計を見直すべきか

従来のSLO設計が抱える課題

これまでの多くのSLO設計は「単一マイクロサービスの99.9%可用性」や「p99レイテンシ < 200ms」といったコンポーネント単位の指標に集中していました。しかし、以下のような問題が現場で顕在化しています。

  • 指標がビジネス価値と乖離:APIのレスポンスタイムが正常でも、ユーザーの決済フローが失敗する
  • 依存サービス間の責任の曖昧さ:マイクロサービス化が進み、1つのユーザーアクションが10以上のサービスを横断する
  • アラート疲れ:細かいコンポーネントSLOが多すぎてオンコール担当が疲弊する

[要確認] 以下の調査数値(67%など)はSRE Con Tokyo 2026およびDORA Report 2026からの引用とされていますが、本記事執筆時点で一次ソースの確認が取れていません。参照の際はご注意ください。

2026年時点の国内外の調査では、SREチームの**67%が「SLOとビジネスKPIの接続に課題を感じている」**と回答しています(SRE Con Tokyo 2026、DORA Report 2026)。

pie title SREチームがSLO運用で感じる課題(2026年調査)
    "ビジネスKPIとの乖離" : 67
    "アラート疲れ・過検知" : 55
    "依存サービス間の責任不明確" : 48
    "SLO設定値の根拠が弱い" : 42
    "ツール間でのSLO管理の分散" : 38

ユーザージャーニーSLOという新しいアプローチ

この課題に対して2025〜2026年にかけて広まったのがCritical User Journey(CUJ)ベースのSLO設計です。ユーザーが達成したい「旅程(ジャーニー)」を起点に、その成否をSLIとして定義します。

例:ECサービスにおけるCUJ

ユーザージャーニーSLI定義SLO目標値
商品検索から購入完了決済リクエストの成功率99.5% / 28日窓
ログインからカート表示カートAPI p95レイテンシ < 500ms99% / 28日窓
注文後の配送通知メール/プッシュ通知の到達率98% / 7日窓
ポイント反映ポイントDB書き込みの冪等性保証99.9% / 28日窓

このアプローチにより、インフラエンジニアとビジネスサイドが同じ言語でサービス品質を議論できるようになります。


コンポジットSLO:複数サービスをまたぐSLO設計

コンポジットSLOとは何か

コンポジットSLO(Composite SLO)は、複数のコンポーネントSLOを**論理演算(AND/OR/重み付き平均)**で組み合わせ、1つの上位SLOを構成する考え方です。

[要確認] OpenSLO v1.1の「2025年Q4リリース」という記述は未確認情報です。OpenSLOの最新バージョンおよびリリース時期については、公式リポジトリ(https://github.com/OpenSLO/OpenSLO)でご確認ください。

flowchart TD
    A[ユーザージャーニーSLO\n決済フロー 99.5%] --> B[CompositeRule: AND]
    B --> C[Auth Service SLO\n認証成功率 99.9%]
    B --> D[Inventory Service SLO\n在庫確認成功率 99.8%]
    B --> E[Payment Service SLO\n決済API成功率 99.5%]
    B --> F[Notification Service SLO\n通知送信成功率 98%]
    C --> G[(Prometheus/OTEL Metrics)]
    D --> G
    E --> G
    F --> G

OpenSLO v1.1でのコンポジットSLO定義

以下はYAML定義の実例です。

# openslo v1.1 - CompositeSLO定義例
apiVersion: openslo.com/v1
kind: CompositeServiceLevelObjective
metadata:
  name: checkout-journey-slo
  labels:
    team: payments
    env: production
spec:
  description: "ECサイト決済フロー全体のSLO"
  timeWindows:
    - duration: 28d
      isRolling: true
  budgetingMethod: Occurrences
  objectives:
    - target: 0.995
  compositeSpec:
    operator: AND
    components:
      - sloRef:
          name: auth-service-slo
          namespace: auth-team
        weight: 1.0
      - sloRef:
          name: inventory-service-slo
          namespace: catalog-team
        weight: 1.0
      - sloRef:
          name: payment-gateway-slo
          namespace: payments-team
        weight: 2.0  # 決済は重要度を2倍に
      - sloRef:
          name: notification-slo
          namespace: platform-team
        weight: 0.5  # 通知は非クリティカル
  annotations:
    businessKPI: "checkout_conversion_rate"
    oncall: "team-payments@example.com"

重み付き構成にすることで、決済コンポーネントの障害により多くのエラーバジェットを消費させるロジックが実現できます。

エラーバジェットの消費フロー

sequenceDiagram
    participant User as ユーザー
    participant CUJ as CUJ SLO Engine
    participant Auth as Auth SLO
    participant Pay as Payment SLO
    participant Budget as Error Budget Manager

    User->>CUJ: 決済リクエスト失敗
    CUJ->>Auth: SLI評価(成功)
    CUJ->>Pay: SLI評価(失敗)
    Pay->>CUJ: bad event +1
    CUJ->>Budget: weight=2.0 で消費
    Budget->>Budget: 残バジェット再計算
    Budget-->>CUJ: アラート:バジェット残 15%
    CUJ-->>User: ジャーニーSLO違反記録

2026年注目のSLO管理ツールと比較

主要ツールの最新動向

2026年時点のSLO管理ツールは大きく3カテゴリに分かれます。

[要確認] 下表のバージョン情報やリリース時期(Sloth v2.x、Grafana SLO 2.0、Pyrra v0.8など)は執筆時点での予測・未確認情報を含む可能性があります。各ツールの公式ドキュメントで最新状況をご確認ください。

ツールカテゴリOpenSLO v1.1対応コンポジットSLOAI異常検知ライセンス
Sloth v2.xOSSジェネレーター△(拡張要)Apache 2.0
OpenSLO OperatorKubernetes ネイティブApache 2.0
Nobl9 2026SaaS✅(Copilot)商用
Grafana SLO 2.0Grafana プラグイン✅(2026/Q1〜)Enterprise
Google Cloud SLO MonitoringGCP ネイティブ部分対応GCP従量課金
Pyrra v0.8OSSダッシュボードApache 2.0

Sloth v2.x + Prometheusによる実装例

OSSで完結させたい場合の構成例です。

[要確認] Sloth v2.0の「2025年Q3リリース」および「OpenSLO v1.1のネイティブ読み込みサポート」は未確認情報です。実際の機能については公式リポジトリ(https://github.com/slok/sloth)でご確認ください。

# sloth v2.x - SLO定義(Prometheusルール自動生成)
apiVersion: sloth.slok.dev/v1
kind: PrometheusServiceLevel
metadata:
  name: payment-gateway-slo
  namespace: payments
spec:
  service: "payment-gateway"
  labels:
    team: payments
    tier: "critical"
  slos:
    - name: "requests-availability"
      objective: 99.5
      description: "決済APIの成功率SLO"
      sli:
        events:
          errorQuery: |
            sum(rate(http_requests_total{
              job="payment-gateway",
              code=~"5..|timeout"
            }[{{.window}}]))
          totalQuery: |
            sum(rate(http_requests_total{
              job="payment-gateway"
            }[{{.window}}]))
      alerting:
        name: PaymentGatewaySLO
        labels:
          severity: critical
          team: payments
        annotations:
          runbook: "https://wiki.example.com/runbooks/payment-slo"
        pageAlert:
          labels:
            severity: page
        ticketAlert:
          labels:
            severity: warning

この定義からSlothは自動的にマルチウィンドウ・マルチバーンレートのPrometheusアラートルールを生成します。

# Slothでルール生成
$ sloth generate -i payment-slo.yaml -o /etc/prometheus/rules/

# 生成されるファイル例
# payment-gateway-slo_5m-1h.yaml   (fast burn)
# payment-gateway-slo_30m-6h.yaml  (slow burn)
# payment-gateway-slo_1h-3d.yaml   (long burn)

実践:エラーバジェットポリシーとAIアシスト運用

エラーバジェット消費ポリシーの設計

SLOを定義しただけでは意味がありません。エラーバジェットの消費状況に応じてチームの行動を変えるポリシーが必要です。2026年のベストプラクティスでは以下のような段階的ポリシーが推奨されています。

flowchart LR
    A[エラーバジェット残量] --> B{残量チェック}
    B -->|>50%| C[🟢 Green\n通常開発・デプロイ自由]
    B -->|20〜50%| D[🟡 Yellow\nリスクの高い変更は要承認]
    B -->|5〜20%| E[🟠 Orange\n新機能デプロイ停止\n信頼性改善タスクを優先]
    B -->|<5%| F[🔴 Red\n全デプロイ凍結\nSRE全力対応]
    C --> G[Deployment Gate: Pass]
    D --> H[Deployment Gate: Review Required]
    E --> I[Deployment Gate: Block]
    F --> I
バジェット残量ステータスデプロイ可否チームアクション
>50%🟢 Green自由通常スプリント継続
20〜50%🟡 Yellow要レビューリスク評価必須
5〜20%🟠 Orange機能デプロイ停止信頼性バックログを最優先
<5%🔴 Red全凍結SRE集中対応・PIR実施

AIアシストによるSLO異常検知(2026年新トレンド)

Nobl9 CopilotやGrafana SLO 2.0に搭載されたAI機能は、以下を自動化します。

  • SLO目標値の自動提案:過去の障害データと業界ベンチマークから最適な目標値を提案
  • バーンレート異常の早期検知:通常のマルチバーンレートアラートより数分早く異常パターンを検出
  • 根本原因の候補提示:SLO違反発生時に関連するトレース・ログから原因候補をランク付け
# Grafana SLO 2.0 API経由でAI提案を取得する例(2026年版)
import requests

GRAFANA_URL = "https://grafana.example.com"
API_KEY = "Bearer <your-service-account-token>"

def get_slo_ai_suggestion(slo_uid: str) -> dict:
    """Grafana SLO 2.0のAIアシスト機能でSLO目標値の提案を取得"""
    response = requests.post(
        f"{GRAFANA_URL}/api/plugins/grafana-slo-app/resources/ai/suggest",
        headers={"Authorization": API_KEY},
        json={
            "sloUid": slo_uid,
            "lookbackDays": 90,
            "options": {
                "includeSeasonality": True,
                "riskTolerance": "medium",  # low / medium / high
                "businessHoursOnly": False
            }
        }
    )
    return response.json()

result = get_slo_ai_suggestion("payment-gateway-slo")
print(f"推奨SLO目標値: {result['suggestedTarget']}")
print(f"根拠: {result['rationale']}")
print(f"予測エラーバジェット消費率(90日): {result['predictedBurnRate']}")

SLO設計のアンチパターンと2026年の改善策

よくあるアンチパターン

アンチパターン問題点2026年の改善策
SLOが多すぎる(50個以上)運用コスト増大・焦点が散漫CUJを起点に5〜10個に絞り込む
100%を目指すSLOイノベーション阻害・ゾンビSLO化99.9%以上は意図的に避ける
レイテンシを平均値で測る外れ値の影響を無視p95/p99で定義し、p50との差も監視する
SLOを一度設定したら変えないビジネス変化に追従できない四半期レビューをカレンダーに登録する
エラーバジェットを誰も見ないSLOが形骸化する週次ダッシュボードをスプリント会議に組み込む

SLO成熟度モデル(2026年版)

flowchart TD
    L1[Level 1:基礎\n可用性SLOのみ\n手動集計]
    --> L2[Level 2:拡張\nレイテンシ・エラー率\nPrometheus自動集計]
    --> L3[Level 3:ユーザー中心\nCUJベースSLO\nエラーバジェットポリシー運用]
    --> L4[Level 4:統合\nコンポジットSLO\nCI/CDゲートと統合]
    --> L5[Level 5:予測的\nAIアシスト異常検知\nビジネスKPIとの自動連携]

    style L1 fill:#fecaca
    style L2 fill:#fed7aa
    style L3 fill:#fef08a
    style L4 fill:#bbf7d0
    style L5 fill:#bfdbfe

まとめ

2026年のSLI/SLO設計は、単なる可用性指標の管理からユーザー体験とビジネス価値を可視化するエンジニアリングへと進化しています。本記事の要点を整理します。

  • ユーザージャーニー(CUJ)を起点にSLOを設計することで、ビジネスサイドとの共通言語が生まれ、信頼性改善の優先度付けが明確になる
  • **コンポジットSLO(OpenSLO v1.1対応)**により、マイクロサービス間の依存関係を包括したSLO管理が可能になり、責任の所在も明確化できる
  • Sloth v2.x・Pyrra・Grafana SLO 2.0など2026年時点のツールを活用することで、Prometheus/OTELベースの実装コストを大幅に削減できる
  • エラーバジェットポリシーをCI/CDゲートと統合することで、SLOを形骸化させず、開発速度と信頼性のバランスをコントロールできる
  • AIアシスト機能は、SLO目標値の設定根拠の弱さやバーンレート異常の見逃しという長年の課題に対して、実践的な回答を提供しつつある

次のアクションとして、まず自チームのサービスで「最もユーザーに影響するジャーニー」を1つ特定し、そのCUJに対してOpenSLO v1.1形式でSLOを定義してみてください。完璧な設計を目指すよりも、動くSLOから始めて四半期ごとに改善するサイクルを回すことが、2026年の信頼性エンジニアリングにおける最大の武器になります。

関連記事