Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
クリティカルユーザージャーニーを利用した SLI/SLO の改善 / #mackerelio
Search
heleeen
December 20, 2023
Technology
11
11k
クリティカルユーザージャーニーを利用した SLI/SLO の改善 / #mackerelio
heleeen
December 20, 2023
Tweet
Share
More Decks by heleeen
See All by heleeen
アラートと運用知見から始める、自律的なインシデント調査への第一歩
heleeen
0
130
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
1
3.2k
SRE のはじめ方 / DevOps と SLI/SLO #mackerelio
heleeen
0
2.6k
CloudNative 移行で実現した Mackerel における SaaS 開発 / Saas on AWS 2023
heleeen
0
160
Mackerel におけるTerraform 運用 / Our (Best?) Practice
heleeen
0
470
Other Decks in Technology
See All in Technology
田舎で20年スクラム(後編):一個人が企業で長期戦アジャイルに挑む意味
chinmo
1
880
ルネサンス開発者を育てる 1on1支援AIエージェント
yusukeshimizu
0
130
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
0
740
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
130
小さく、早く、可能性を多産する。生成AIプロジェクト / prAIrie-dog
visional_engineering_and_design
0
310
#22 CA × atmaCup 3rd 1st Place Solution
yumizu
1
120
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.6k
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
13
3k
re:Invent2025 セッションレポ ~Spec-driven development with Kiro~
nrinetcom
PRO
2
170
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
190
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
400
Technical Leadership for Architectural Decision Making
baasie
0
200
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Building an army of robots
kneath
306
46k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
270
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
74
A Tale of Four Properties
chriscoyier
162
23k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Heart Work Chapter 1 - Part 1
lfama
PRO
3
35k
Utilizing Notion as your number one productivity tool
mfonobong
2
190
Transcript
ja.mackerel.io クリティカルユーザージャーニーを利用した SLI/SLO の改善 2023.12.19 Mackerel チーム SRE テックリード 井口景子
井口 景子 (id:heleeen) • 2019年9月に Mackerel に SRE として入社 •
現在は Mackerel の SRE テックリード • SRE, Serverless が好き • カメラも好き 自己紹介 2 由緒あるスポットのはずが, 諸々噛み合わさって 怖い雰囲気になってしまった →
今日はなすこと • Mackerel の SLI/SLO の改善 • クリティカルユーザージャーニーとは 3
Mackerel の SLI/SLO • 誕生(2019年) ◦ Mackerel の SRE チーム
reboot ◦ CloudNative への移行 4
Mackerel の SLI/SLO の誕生 • まずは SLI/SLO をとにかく定めた ◦ SRE
Workbook¹ の実装例がとても参考になる • 詳しくは Mackerel開発チームのリードSREが考える働き方と組織作り にて ◦ 他にも... ▪ 定期的に見直すフローを組み込む • SLO を割っていないか, 定義した SLI/SLO は適切か... ▪ チーム全体(ステークホルダー全員)で SRE の理解を深める • SRE は運用チームだけで達成するものではない 1... https://sre.google/workbook/implementing-slos/ 5
(余談) 意思決定者を巻き込むのは大変かもしれない • チーム, プロダクト, 会社によって状況はさまざま... • アプローチ ◦ 小さくシンプルにまずは作ってみる
▪ 最小限の定義 ▪ 仮の目標値にする • 組織としての SRE への取り組みについては SRE の文化と組織 がおす すめです 6
Mackerel の SLI/SLO • ざっくり構成 ◦ Mackerel 全体 (ここから始まった) ▪
Availability, Latency ◦ 時系列データベース ▪ Availability, Latency, Coverage... ◦ バッチ ▪ Availability, Coverage, Correctness... ◦ プロキシ ▪ Availability, Latency ◦ ラベル付きメトリック ▪ ... ◦ ... 7
SLI/SLO で何が変わったか • MackerelにおけるEC2からFargate移行の軌跡とFargateのメリットデ メリットについて ◦ 移行の意思判断が SLO でできるようになった ◦
担当者の精神的負担にも好影響 • プロダクトオーナーとしてSLOに向き合う 〜Mackerelチームの事例〜 / SRE NEXT 2023 ◦ 判断と改善がチームで回るようになった ◦ 特に PO としては判断の負荷が下がる 8
SLO 策定から数年... • 本当にユーザーの体験を測れているのか? ◦ Yes とは言い切れない ◦ ユーザーの目線より実装に沿っている定義がある ◦
=> 信頼性を量る指標になれていない 9
Mackerel の SLI/SLO の不全 • 信頼性に影響のある障害が SLI に現れなかった ◦ デプロイフローの改善により開発体験・速度は改善した
▪ その分, 障害頻度は上がるはず ◦ ユーザー体験に影響のある障害検知があまりできていない... ◦ => SLI の定義か実装が適切ではない? 10
Mackerel の SLI/SLO の再編 • ユーザー目線を理解したい ◦ ユーザー体験をモデリング ▪ どんなユーザーがサービスを利用するのか
▪ このサービスはどんな体験をユーザーに提供するのか, など • クリティカルユーザージャーニー(CUJ)を採用 ◦ ユーザーがサービスを利用して, 目的を達成するために行う 作業の一覧を作り, ステークホルダーと重要な顧客体験の認識を揃える ◦ SRE workbook の Modeling User Journeys¹ に出てくる 1... https://sre.google/workbook/implementing-slos/#modeling-user-journeys 11
クリティカルユーザージャーニー • 特に重要な顧客体験に着目して, ユーザーの体験とタスクを整理する • オンラインショッピングサイトの場合 12 目標(ゴール) 達成するためのタスク 検索して商品を見つける
▪ 検索ワードを入力する ▪ 目的を満たす商品を選択し詳細を確認する カートに追加する ▪ 個数を選択してカートへ追加する 決済を行う ▪ 配送先の指定 ▪ クレジットカード情報の入力
ユーザーの期待を特定する • このタスクを進める中で, ユーザーにとって何が重要なのか? • オンラインショッピングサイトの場合 13 目標(ゴール) ユーザーにとって重要なこと 検索して商品を見つける
▪ショッピングサイトを使いたいときに使えること ▪条件通りの商品が表示されること ▪素早く結果が表示されること カートに追加する ▪指定の個数でカートに追加されること ▪素早く結果が表示されること 決済を行う ▪決済の処理が成功すること ▪商品が届くこと
ユーザーの期待を指標にする • ユーザーにとって重要なことを測る指標はなにか? • オンラインショッピングサイトの場合 14 目標(ゴール) ユーザーにとって重要なことを測る指標 検索して商品を見つける ▪ショッピングサイトを使いたいときに使えること
•=> 可用性 ▪条件通りの商品が表示されること •=> 正確さ, 新鮮さ ▪素早く結果が返ってくること •=> レイテンシ 決済を行う ▪決済の処理が成功すること •=> 正確さ
Mackerel のクリティカルユーザージャーニー • 特に重要な顧客体験に着目して, ユーザーの体験とタスクを整理する • 例: Mackerel でホストを監視できる 1...
厳密にはアカウント作成やログインもインタラクションに含まれますが, ここではスライドに 収まらないため省略しています 15 目標(ゴール)¹ 達成するためのタスク ホストを登録する ▪ VM を用意する ▪ mackerel-agent をインストールする 監視ルールを追加する ▪ 監視条件を入力し保存する 通知を設定する ▪ 通知先を用意する ▪ 通知チャンネルを作成する ▪ 通知が届くか検証する
クリティカルユーザージャーニー • 指標として表すことができる体験を選択する ◦ 例 ▪ 安定して結果が返却される ▪ 正しく表示される ◦
SLI では表しにくい例 ▪ 手軽に監視運用できる ▪ よりコストを抑えて監視できる ▪ => 他の手法かブレイクダウンが必要 16
Mackerel の CUJ から期待を特定する • このタスクを達成する上で, ユーザーにとって何が重要なのか? • 例: Mackerel
でホストを監視したいときに重要なことはなにか? 17 目標(ゴール) ユーザーにとって重要なこと ホストを登録する ▪ ホストが登録できること ▪ ブラウザでメトリックが確認できること 監視ルールを追加する ▪ 監視が登録できること ▪ 条件に従ってアラートが発生すること 通知を設定する ▪ 通知が届くこと
Mackerel への期待を指標にする • ユーザーにとって重要なことを測る指標はなにか? • 例: Mackerel でホストを監視したいユーザーにとって重要なことを測る 指標はなにか? 18
目標(ゴール) ユーザーにとって重要なことを測る指標 ホストを登録する ▪ ホストが登録できること ▪ => API の可用性 ▪ ブラウザでメトリックが確認できること ▪ => Web コンソールの可用性 監視ルールを追加する ▪ 監視が登録できること ▪ => API, Web コンソールの可用性 ▪ 条件に従ってアラートが発生すること ▪ => バッチの可用性, 正確さ, 処理時間
クリティカルユーザージャーニーで見えないもの • ユーザージャーニーに現れにくいものも存在する ◦ 例: データお掃除のバッチ ▪ ユーザー体験にはほぼ影響しないけど, システム的には必要な機能 ◦
CUJ から決めた SLI/SLO とはわけて管理している = エラーバジェット ポリシーの適応範囲・内容を分けている 19
指標を実装する • 信頼性に関連していそうな指標を計測する • 機能のアーキテクチャごとの実装例が SRE Workbook で公開されている¹ ◦ Request
Driven ▪ Availability, Latency, Quality ◦ Pipeline ▪ Freshness, Correctness, Coverage ◦ Storage ▪ Durability 1... https://sre.google/workbook/implementing-slos/ 20
SLI/SLO を再編して • SLI からユーザー影響が想定しやすくなった ◦ コンポーネント単位ではなくユーザー目線にした ◦ とはいえまだ大絶賛実装中... そう感じているのは自分だけかもしれない
• SRE workbook の実装例はとても参考になる ◦ 初版から参考にしていて, 指標の実装に大きな変化はない ◦ 実装に悩んだらまずは真似てみるのがよさそう • SLI/SLO は見直して育てていくもの ◦ 始めていなかったら課題感に気づいていなかったかもしれない ◦ とりあえず始めていてよかった ◦ 最初から完璧を求めない 21