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 をストリーム アラインドチームに導入した話
Search
Tsukasa OISHI
March 10, 2023
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SLI/SLO をストリーム アラインドチームに導入した話
Tsukasa OISHI
March 10, 2023
More Decks by Tsukasa OISHI
See All by Tsukasa OISHI
怖くないメモリ肥大化
tsukasa_oishi
1
120
JITをたどるとそこはYARVの中
tsukasa_oishi
0
590
The Cacher in the Rye
tsukasa_oishi
1
6k
ISeqで遊ぼう
tsukasa_oishi
0
5.3k
Rubyを30倍速くした話
tsukasa_oishi
0
1.3k
はてブ砲をくらったときのお話
tsukasa_oishi
0
2.3k
食べログで動いている自作ライブラリのお話
tsukasa_oishi
0
320
奥さんとプログラミングを両立させる方法
tsukasa_oishi
0
110
MiyazakiResistanceを作ってみたよ
tsukasa_oishi
0
1.1k
Other Decks in Technology
See All in Technology
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
130
Kiro Ambassador を目指す話
k_adachi_01
0
110
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
280
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
110
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
410
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
260
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
5
850
20260619 私の日常業務での生成 AI 活用
masaruogura
1
230
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
1
240
AIチャット検索改善の3週間
kworkdev
PRO
2
140
【NRUG vol.18】KubernetesにおけるNew Relicデータ取得量削減の考え方
nrug_member
0
160
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
4
2.3k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Mind Mapping
helmedeiros
PRO
1
250
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Ethics towards AI in product and experience design
skipperchong
2
310
How to Think Like a Performance Engineer
csswizardry
28
2.7k
From π to Pie charts
rasagy
0
210
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Transcript
SLI/SLO をストリーム アラインドチー ムに導入した話 2023-03-09
スピーカー紹介 2022 年 6 月 Ubie株式会社 Ubie Discovery 入社。 プロダクト開発エンジニアとして病院・クリニック向けのプロダクト
「ユビー AI 問診」の開発・運用や、 Ubie のシステムアーキテク チャを生産性の面から改善していく業務に携わっている。 Twitter: @tsukasa_oishi GitHub: @tsukasaoishi おおいしつかさ Ubie株式会社
テクノロジーで人々を適切な医療に案内する
なぜストリーム アラインドチームに SLO が必要になっ たか? 何を計測するべきか、クリティカル ユーザージャーニー から導き出す SLI と
SLO を決める どのようにして SLI を計測し、可視化したか 01 03 02 04
なぜストリーム アラインドチー ムに SLO が必要に なったか? 01
None
None
変更容易性の低下 責務がわかりにくい 個人による活動の限界
ストリーム アラインドチームの誕生
Place Image Here 運用タスクの増加
SLI/SLO
なにを計測するべきか クリティカル ユーザージャー ニーから導き出す 02
SLI をどう決めたらいいんだろう?
None
ユーザー ジャーニー全体 の時間や完走率を計測し たが失敗した • ユーザー ジャーニー全体の時間は、ユーザーによっ てばらつきが大きく、 SLO を決定しにくい
• 完走率も時間帯によってばらつきが大きい • 完走率が低い = 信頼性が低下しているとは言えない
ユーザーが価値を得るための 一連の体験の中で、もっとも重 要なアクションを SLI にする
SLI と SLO を決める 03
ユーザーに提供している価値が毀損していること を、何をもって表せるか?
そのアクションによる結果が正しい挙動で稼働 し続けていること。 これが保てなければ価値を提供できているこ とにはならない。 そのアクションによる結果が想定の範囲内の 時間で価値を提供できていること。 正しい挙動で稼働し続けられても、時間がか かっていたら意味がない。 SLI 可用性
レイテンシ
サービス A サービス B サービス C サービス D サービス E
サービス F どこで計測するのか
サービス A サービス B サービス C サービス D サービス E
サービス F どこで計測するのか
サービス A サービス B サービス C サービス D サービス E
サービス F どこで計測するのか
クライアント サイドでの レンダリングの 計測を 検討したが採用しなかっ た • ユーザーの価値を毀損しているかどうかの要因となる のは、レンダリングよりも API
コールだった • レイテンシの大部分は API コールが占める • API コールの成否が可用性に大きく影響する
サービス A サービス B サービス C サービス D サービス E
サービス F どこで計測するのか
SLO を決める
サービス全体を見ている PO なども交えて議論
まずは緩めの値で開始し、運用しながら適正 な値に近づけていくことに
どのようにして SLI を 計測し、可視化したか 04
ログ受付 prometheus exporter Pub/Sub Monitoring grafana BigQuery
ログ受付 prometheus exporter Pub/Sub Monitoring grafana BigQuery API コールを計測。 ある程度バッファリング
してから送信
ログ受付 prometheus exporter Pub/Sub Monitoring grafana BigQuery Go で実装した prometheus
exporter
ログ受付 prometheus exporter Pub/Sub Monitoring grafana BigQuery PodMonitoring リソースを定義 しておくことで
GMP がメトリクス を取りに来てくれる
Google Cloud Managed Service for Prometheus(GMP)は terraform で設 定している Terraform
resource “google_monitoring_slo” “ubie_a_team_latency” { service = google_monitoring_cs.ubie_a_team.service_id project = local.project_id display_name = “monthly ubie a team latency p95 < ??ms” slo_id = “ubie-a-team-latency” goal = 0.95 calendar_period = “MONTH” request_based_cli { distribution_cut { Distribution_filter = “metrics.type=...” range { min = 0 max = ?? } } } }
Grafanaで可視化
まとめ
開発と運用のリソース配分のひとつの指標と して SLI/SLO を利用しました。 SLI をどうやって決めるのか、悩んでいるとこ ろも多いと思うので参考にしていただけたら幸 いです。
Thank you. Proprietary + Confidential