SLI/SLOを用いてモバイルアプリでユーザー体験の品質を監視する by おさたく

SRE Kaigi 2025
セッション(30分)

SLI/SLOを用いてモバイルアプリでユーザー体験の品質を監視する

ostk0069 おさたく ostk0069

■ 発表カテゴリ
募集要項( https://www.notion.so/srekaigi/SRE-Kaigi-2025-CfP-0939fcd968a74bddaebdbf638a957ab9 ) にある6つの発表カテゴリからお選びください

・Practices: SREの実践例と得られた教訓

■ 発表概要(400字程度)

SLI/SLOはSREの単語としてよく聞きますが、モバイルアプリ開発にはあまり馴染みのないものです。
私の所属するプロダクトのモバイルアプリは障害の発生率が高く、それを早期に検知し、解消できる仕組みが必要でした。
そこで私はこのSLI/SLOの仕組みをモバイルアプリに合う形に適用し、ユーザー体験の低下を検知する仕組みを作成しました。
この仕組みによって以下のことが即時検知可能です。

  • 失敗率(一定以上のユーザーが機能を利用時にエラーなどの出現で機能の利用に失敗したケース)
  • キャンセル率(一定以上のユーザーが機能を利用時に何かを理由にキャンセルしたケース)
  • 中断率(一定以上のユーザーが機能を利用時に何かを理由にアプリをキルしたケース)

現在ではこの監視対象として40以上の機能に埋め込みが完了しています。

このセッションでは以下のことについて話していければと考えています。

  • SLI/SLOとは
  • 一般的なSLI/SLOとユーザー体験を検知するSLI/SLOの違い
  • ユーザーが途中で機能の利用をやめたり、途中でクラッシュしたケースを計測するためには
  • ユーザー体験のアラート基盤の作成時にどのようにノイズアラートと戦うか
  • 計測基盤を埋め込むときになるべくメインコードに影響を与えないためには
  • ビジネスのメンバーを巻き込んでユーザー体験の低下を検知、阻止するためには

■ 発表の詳細(1000字程度)

  • SLI/SLOとは

SLI/SLOの基本的な説明を行います

  • 一般的なSLI/SLOとユーザー体験を検知するSLI/SLOの違い

このセッションでは、「クライアントでSLI/SLOを計測する = 機能単位で機能を利用し始めるところか完了するまでの一連のフロー計測する」こととします。
具体例をもとに説明します。

  • ユーザーが途中で機能の利用をやめたり、途中でクラッシュしたケースを計測するためには

API単位での計測と異なり、ユーザーが計測中に離脱することも考慮して計測しないといけません。その課題をどのように乗り越えるかの説明をします。

  • ユーザー体験のアラート基盤の作成時にどのようにノイズアラートと戦うか

計測データはもろにユーザー行動の影響を受けます。その中でどのようにアラートを構築したかについてお話します。

  • 計測基盤を埋め込むときになるべくメインコードに影響を与えないためには

計測処理をクライアントのプロダクションコードに記述する形で計測しています。その時、計測処理がユーザーの体験を損ねてしまうわけにはいきません。
ここでの工夫についてお話しします。

  • ビジネスのメンバーを巻き込んでユーザー体験の低下を検知、阻止するためには

SLI/SLOは信頼性を可視化することができます。しかし、これをビジネスメンバーに理解してもらうことは簡単ではありません。
私の所属するチームでは障害対応時に利用するダッシュボードを作成しました。
これにより私の所属するプロダクトのメンバーのほとんどはSLI/SLOを認知しています。どのようにビジネスメンバーに定着したかの過程を紹介します。

■ 対象聴衆とその人たちが得られるもの

  • クライアント領域におけるSREの導入事例とその違い
  • SLI/SLOをビジネスメンバーに定着してもらう動き

■ なぜこのトピックについて話したいのか(モチベーション)

SLI/SLOの概念はサービスの信頼性を表すものであり、バックエンドのみならず、プロダクト全体で計測することで真価が発揮されると考えています。
実際にプロダクトに導入してみて、APIが叩かれる前段階でユーザー体験が低下している事例も多く存在しました。クライアント領域から見たSREについて話させていただければと思います。