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
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
200
5分でわかるDuckDB Quack
chanyou0311
3
250
コミュニティの有益性 ~JAWS Days 2026 での体験を通して~ / The Benefits of a Community ~Through My Experience at JAWS Days 2026~
seike460
PRO
0
270
螺旋型キャリアの生存戦略 / kinoko-conf2026
rakus_dev
1
980
When Platform Engineering Meets GenAI
sucitw
0
170
現場のトークンマネジメント
dak2
1
190
從開發到部署全都交給 AI:實作 AI 驅動的自動化流程
appleboy
0
160
AIチャットの改善から見えた、良いAI体験とは / What Constitutes a Good AI Experience: Insights from Improving AI Chat
kubode
0
120
AIはどのように 組織のアジリティを変えるのか?
junki
4
1.4k
2026-06-24_人とAIの責務分離に基づく開発プロセスの提案.pdf
takahiromatsui
0
120
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
20
7.5k
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
300
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
430
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
How to Talk to Developers About Accessibility
jct
2
250
Building the Perfect Custom Keyboard
takai
2
800
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
150
First, design no harm
axbom
PRO
2
1.2k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Ethics towards AI in product and experience design
skipperchong
2
310
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
150
Speed Design
sergeychernyshev
33
1.9k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
210
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
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