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
12k
13
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
クリティカルユーザージャーニーを利用した SLI/SLO の改善 / #mackerelio
heleeen
December 20, 2023
More Decks by heleeen
See All by heleeen
アラートと運用知見から始める、自律的なインシデント調査への第一歩
heleeen
0
240
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
1
3.4k
SRE のはじめ方 / DevOps と SLI/SLO #mackerelio
heleeen
1
2.8k
CloudNative 移行で実現した Mackerel における SaaS 開発 / Saas on AWS 2023
heleeen
0
190
Mackerel におけるTerraform 運用 / Our (Best?) Practice
heleeen
0
520
Other Decks in Technology
See All in Technology
module Synths; end
asonas
1
120
GoCon2026 - Open Source, Open World
sanposhiho
1
210
AIで開発は速くなったのに、なぜ現場は楽にならないのか 〜あなたの組織のボトルネックを突き止めるワークショップ〜
jacopen
1
270
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
280
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
160
Microsoft 365 Copilot chat -tekoälypalvelun tietosuojaongelmat
hponka
0
540
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
420
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
190
V8コントリビュート超入門
riyaamemiya
0
150
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
260
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
850
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
400
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
6k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
510
sira's awesome portfolio website redesign presentation
elsirapls
0
410
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Exploring anti-patterns in Rails
aemeredith
3
490
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
How to Ace a Technical Interview
jacobian
281
24k
Music & Morning Musume
bryan
47
7.4k
For a Future-Friendly Web
brad_frost
183
10k
Code Review Best Practice
trishagee
74
20k
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