🚥

MOVO VistaにおけるSLI/SLO策定と運用 〜ユーザー視点でサービス品質を見える化する取り組み〜

に公開

1. はじめに

MOVO Vistaというプロダクトでバックエンドエンジニアをしているいっちーです。

MOVO Vistaは企業間での配送案件の管理を支援するプロダクトで、多くのユーザーの業務を支えています。

そのため、「サービスがちゃんと使えているか」「ユーザーが満足できているか」を数字でしっかりと把握し、改善につなげることがユーザー体験の向上、品質管理の観点で不可欠だと考えています。

そこで、サービス品質を客観的に測る指標として「SLI(Service Level Indicator)」と「SLO(Service Level Objective)」を新たに策定し、運用を開始しました。

本記事では、VistaにおけるSLI/SLO導入の背景や設定のポイント、具体的な指標例、そして運用を通じて得られた知見について紹介します。

2. SLI/SLOとは何か?

まずはSLIとSLOの基本的な考え方を整理します。

  • SLI(Service Level Indicator)

    サービスの健全性や品質を表す具体的な指標のことです。

    たとえば「APIのレスポンス時間」や「エラーレート」など、ユーザー体験に直結する数値を指します。

  • SLO(Service Level Objective)

    そのSLIに対して設定する目標値で、「このくらいのレベルは常に維持しよう」という基準です。

    例えば「APIの99%のリクエストを2秒以内に返す」などが該当します。

これらを定めることで、サービスの品質を定量的に把握しやすくなり、改善の優先度付けやチーム間の共通認識の形成に役立ちます。

なお、SLA(Service Level Agreement)はお客様に対する契約上の保証であり、SLI/SLOはあくまで社内の品質管理や運用のための指標である点は区別しておくことが重要です。

3. MOVO VistaにおけるSLI/SLO設定のポイント

SLIやSLOは単に数字を決めるだけではなく、サービスの性質やユーザーにとっての価値を踏まえた設計が重要です。

MOVO Vistaでの設定にあたって、特に意識したポイントを紹介します。

3-1. ユーザー視点で設定する

SLI/SLOは「ユーザーが体験する価値」を指標化することが大切です。

例えば、ユーザーが実際に使うAPIの応答速度やエラー率を中心に設定し、裏側のバッチ処理の成功率など、ユーザーに直接関係しない指標は対象外としています。

3-2. コア機能に絞る

サービス全体の中でも、収益や顧客満足度、顧客利用価値に直結する重要な機能を中心にSLI/SLOを設定しています。

利用頻度の低い機能は指標化の優先度を下げています。

3-3. 現実的な目標を設定する

理想だけを追うのではなく、現状のインフラ状況や運用負荷を踏まえた現実的な目標設定を心がけています。

たとえば、99.999%といった非常に厳しい目標を無理に設定せず、エラーバジェットも活用して目標を柔軟に調整しています。

3-4. 依存関係を意識する

アプリケーション層だけでなく、下位のインフラ(例:データベースなど)の可用性がSLO設定に影響するため、依存関係を意識して設定しています。

3-5. 設定しすぎない

多くのSLOを設定しすぎると運用が複雑になるため、最初は重要な指標に絞ってSLO文化の醸成を優先しました。

4. MOVO VistaのSLI/SLOの具体例紹介

ここからは、実際にMOVO Vistaで設定している主なSLIとSLOの一例をご紹介します。

4-1. エラーレート(500エラー率)

  • SLI:全リクエストに対する500系エラーの割合
  • 理由:500エラーはユーザー側にエラーの原因が伝わりづらく、ユーザーの業務も止まります。また、カスタマーサクセスやテクニカルサポートへの問い合わせに繋がり、双方の負荷増加に直結します。

4-2. 可用性(ヘルスチェック成功率)

  • SLI:システムのヘルスチェック成功率
  • 理由:ユーザーがMOVO Vistaを利用できる時間に直結するため、可用性は最も重要な指標の一つとして計測対象にしています。

4-3. 配送案件画面のレスポンス速度

MOVO Vistaの中でも利用頻度が高く、ユーザー体験に直結する配送案件に関連するAPIの応答速度に対して複数のSLI/SLOを設定しています。

機能 SLI定義
一覧表示 p99のレスポンスタイム
一覧件数表示 p99のレスポンスタイム
ドロワー表示 p99のレスポンスタイム
車両割当 p99のレスポンスタイム
ドライバー割当 p99のレスポンスタイム

こうした指標は、ユーザーの業務効率や満足度に直結するCUJ(Critical User Journey)ため、優先的に監視・改善を進めています。

SLO_Dashboard
実際のDatadog Dashboard機能を使用したSLO画面

5. 運用方法と振り返りサイクル

SLI/SLOは設定して終わりではなく、継続的な運用と振り返りが非常に重要です。

MOVO Vistaでは以下のような形で運用しています。

5-1. SLOサイクルは過去30日を基準にして評価する

  • 過去30日のデータを基にSLOの達成状況を確認しています。
  • 7日や90日など他の期間も検討しましたが、30日がちょうどよいバランスだと考えました。
    • 7日では外れ値による変動が大きくなり、ノイズが大きくなる
    • 90日では改善サイクルが遅くなる

5-2. Datadogでのエラーバジェット管理

  • Datadogを活用して、エラーバジェットの残量やバーンダウンチャートを自動計測。
  • エラーバジェットが30%を切った場合にはチーム内で対象の指標に対する振り返りを実施し、必要に応じてSLOの見直しや改善策の検討を行います。
  • エラーバジェットを使い切った場合は、次スプリントで必ず改善タスクを追加し、PdM(プロダクトマネージャー)とも相談しながら対応を進めることにしています。
    • このバジェットポリシーを決めるために事前にPdM(プロダクトマネージャー)への説明と同意をもらうように働きかけるなどの調整も行いました。

5-3. チーム内の定例ミーティングで共有

  • バックエンドチームの夕会で2週間に1度のペースで、SLO達成状況や目標の設定が困難でないかどうかを確認しています。
  • 数値の変化やトレンドを見ながら、問題点や改善の優先順位を議論しています。

5-4. 今後の運用検討事項

  • アラート設定によるリアルタイム通知の導入を検討しています。
  • また、トータルでユーザー体験を評価できるようにフロントエンドも含めてSLI/SLOを設定できないかも検討しています。

このように、SLI/SLOを「サービス品質を保つための生きた指標」として運用し、チーム全体で改善サイクルを回しています。

6. SLI/SLO運用から得られた気づきと課題

SLI/SLOを実際に設定し、運用してみて見えてきたことや課題をまとめました。

ユーザー体験に近い指標の大切さ

単に技術的なメトリクスではなく、ユーザーが実際に感じる体験に直結する指標を重視することで、改善の優先順位が明確になりました。

たとえば配送案件のレスポンス速度は、ユーザー満足度に大きく影響するため重点的に追っています。

今後はフロントエンドも含めて画面の描画まで含めて計測することで、よりユーザー体験を可視化できるようにしていきたいです。

目標設定のバランスとチーム合意の重要性

高すぎる目標はチームの負担になり、逆に低すぎると品質維持が難しいため、現実的かつ挑戦的なラインを模索しました。

また、設定値に対してチーム全員が納得感を持つことが、継続的な運用には欠かせません。

過剰な指標設定のリスク

あれもこれもと多くのSLOを設定しすぎると、管理や改善が複雑化してしまいます。

まずはコアな指標に絞り、SLOを文化として根付かせることが成功の鍵だと感じています。

運用体制とアラートの整備

SLOのアラート設定は、今回は「まず小さく始める」ことを意識して見送りました。

現在は振り返りを中心に運用していますが、リアルタイムで問題を察知しやすいアラート設定の導入もいずれ取り組んでも良いかなと考えています。

エラーバジェットやバーンダウン等の指標の獲得

エラーバジェットやバーンダウンレート/チャートはSLI/SLOを設定してないと中々確認しない値だと思います。

エラーバジェットがあることにより、エラーバジェットポリシーを策定し運用手法を立て付けられますし、バーンダウンレート/チャートという共通指標を見ることで改善の効果が確認しやすいです。

以下はSLI/SLOを設定してから、実際に改善を行った際のエラーバジェットとバーンレートのグラフです。改善を行った7月頭くらいからバーンダウンチャートの傾きが緩やかになり、バーンレートも以前に比べて落ち着いてきていることが一目でわかると思います。

burndown_chart_rate
改善前後のバーンダウンチャートとバーンレート

VistaでのSLI/SLO導入はまだ始まったばかりですが、これらの気づきを踏まえてより良い運用を目指していきます。

7. まとめ

今回は、MOVO VistaにおけるSLI/SLOの策定と運用についてご紹介しました。

ユーザー視点でサービス品質を見える化することで、チーム全体で課題を共有しやすくなり、改善の優先順位付けにも役立っています。

また、現実的な目標設定とエラーバジェットの活用により、無理なく継続的な品質向上を目指せる手法・体制を作ることができました。

今後もMOVO Vistaは、SLI/SLOの運用を通じて得られる客観的な指標を活用しながら、 ユーザーに価値を届ける機能開発の推進安定したユーザー体験の確保と向上 の両輪で成長していきたいと思います。

8. 参考

https://www.oreilly.co.jp/books/9784814400348/

  • 今回SLI/SLOを定めるにあたって、社内で利用できる書籍購入補助制度を使わせてもらい上記の本を購入しました。SLOを始めたいという方にはぜひ読んでもらいたいです。

https://www.oreilly.co.jp/books/9784873117911/

https://www.oreilly.co.jp/books/9784814400126/

Hacobuテックブログ

Discussion