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
PLAID マルチプロダクト環境下で SLO運用を浸透させるために 20230705
Search
Jun
July 10, 2023
Programming
0
1.6k
PLAID マルチプロダクト環境下で SLO運用を浸透させるために 20230705
マルチプロダクト環境下でSLOを運用していく上での取り組みや背景にある考え方を具体例を交えながら紹介
Jun
July 10, 2023
Tweet
Share
More Decks by Jun
See All by Jun
20230713_PLAID_マルチプロダクトでのデータ分析基盤(集中と分散)
kusahana
0
170
Cloud Bigtable を使いこなす秘訣 2022
kusahana
0
1.9k
KARTE リアルタイムユーザー解析基盤のDB (450TB)をゼロダウンタイムで 新DBに移行したノウハウ
kusahana
3
4.7k
Other Decks in Programming
See All in Programming
クラシルを支える技術と組織
rakutek
0
190
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
800
Serena MCPのすすめ
wadakatu
4
900
CSC509 Lecture 04
javiergs
PRO
0
300
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
12k
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.9k
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
620
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
220
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
130
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
150
Swift Concurrency - 状態監視の罠
objectiveaudio
2
470
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
920
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Navigating Team Friction
lara
189
15k
Typedesign – Prime Four
hannesfritz
42
2.8k
Building Applications with DynamoDB
mza
96
6.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
A better future with KSS
kneath
239
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Transcript
| © PLAID Inc. yyyy.mm.dd | Event name here | 1 マルチプロダクト環境下で SLO運用を浸透させるために PLAID
日鼻旬
yyyy.mm.dd | Event name here | | © PLAID Inc. 株式会社プレイド 日鼻 旬(@junkusahara) 2019年にプレイドにジョイン。
リアルタイム解析基盤のリニューアルをリー ド。 その後はKARTEのインフラ基盤全体を統括 し、基盤およびその上で動く各プロダクトの SLOの運用などに注力
yyyy.mm.dd | Event name here | | © PLAID Inc. 今日話すこと 3 今日話すこと 各プロダクトチームへ
SLO運用を浸透させる上の 設計・運用の勘所
yyyy.mm.dd | Event name here | | © PLAID Inc. 想定する対象者 4 想定する対象者 SLO運用を始めたが
色々な課題が出て 対応を考えている人向け
yyyy.mm.dd | Event name here | | © PLAID Inc. アジェンダ 5 アジェンダ マルチプロダクトでの課題
SLO浸透に向けた取り組み 運用で出てきた問題と対応 まとめ
yyyy.mm.dd | Event name here | | © PLAID Inc. マルチプロダクト での課題 6 アジェンダ
マルチプロダクトでの課題 SLO浸透に向けた取り組み 運用で出てきた問題と対応 まとめ
yyyy.mm.dd | Event name here | | © PLAID Inc. 7 KARTEについて CX(顧客体験)プラットフォーム Webサイトの訪問者の⾏動を
顧客ごとにリアルタイムに解析 ⼀⼈ひとりに合わせた 顧客体験を提供
yyyy.mm.dd | Event name here | | © PLAID Inc. 8 Stats of KARTE
データ規模も爆発的に増加 199 億UU 累計ユーザー数 ※1 0.x 秒/解析 解析速度 134,000 over 秒間トラッキング数 ※3 2.59 兆円 年間解析流通金額 ※2 ※1 ローンチ〜2023年2月までのユニークユーザー数の実績 ※2 EC領域における解析流通金額。 2022年3月〜2023年2月までの単年の実績 ※3 閲覧、クリック、購入など KARTEで計測しているユーザーの全イベントが 対象。ローンチ〜 2023年3月までにおける最大値
yyyy.mm.dd | Event name here | | © PLAID Inc. 9 マルチプロダク トでの課題 プロダクト数増加にSLO設定・運用が追いつかない
yyyy.mm.dd | Event name here | | © PLAID Inc. マルチプロダクト での課題 10 アジェンダ
マルチプロダクトでの課題 SLO浸透に向けた取り組み 運用で出てきた問題と対応 まとめ
yyyy.mm.dd | Event name here | | © PLAID Inc. 11 SLO浸透に向け た取り組み SLO設定に向けたガイドライン作り
& 一緒に広める
yyyy.mm.dd | Event name here | | © PLAID Inc. 12 SLO浸透に向け た取り組み SLO設計時の悩ましいポイント
1. どのサービス・機能に対してSLOを設定するか? 2. どういう指標(SLI)を見るのか? 3. 目標値(SLO)をどのように設定するのか?
yyyy.mm.dd | Event name here | | © PLAID Inc. 13 SLO浸透に向け た取り組み どういうサービス・機能に対してSLOを設定するか?
⾃分達 & クライアントに対して信頼性が重要なクリティカルなポイントは? - End User体験に関わる配信機能 - Client側で⾃動‧半⾃動オペレーションに組み込まれている機能
yyyy.mm.dd | Event name here | | © PLAID Inc. 14 SLO浸透に向け た取り組み どういう指標(SLI)を見るか?
定番の指標 - 可⽤性 - APIの成功率(例. 成功request数 / 全request数) - パフォーマンス - レイテンシー(例. p95でx msec以内) - スループット(例. 1時間以内の処理件数xx件) 上の指標の課題 - エラーは出ていないけど機能していない問題をちゃんと捕捉できない - 本来表⽰すべきところが表⽰されてない etc - 外型監視でモニターすることも考えたが網羅できない
yyyy.mm.dd | Event name here | | © PLAID Inc. 15 SLO浸透に向け た取り組み 可用性・パフォーマンスでは補足できない指標を追加
正確さという項⽬を加え、近似値でもいいから定量的に取れるようにする - 可⽤性 - APIの成功率(例. 成功request数 / 全request数) - パフォーマンス - レイテンシー(例. p95でx msec以内) - スループット(例. 1時間以内の処理件数Y件) - 正確さ - 特定の期間内に正確さを損なうクリティカルな障害がX件以内であること
yyyy.mm.dd | Event name here | | © PLAID Inc. マルチプロダクト での課題 16 アジェンダ
マルチプロダクトでの課題 SLO浸透に向けた取り組み 運用で出てきた問題と対応 まとめ
yyyy.mm.dd | Event name here | | © PLAID Inc. 17 SLOのエラーバジェット超過した! どうする? 運⽤時の問題‧対応
yyyy.mm.dd | Event name here | | © PLAID Inc. 18 SLOのエラーバジェット超過した時、どうする? 使い果たす主要なパターン -
A. ⼤きな障害が起きて⼀気にエラーバジェット消費 - B. 定常的なバジェット消費率が想定より⾼い 運⽤時の問題‧対応
yyyy.mm.dd | Event name here | | © PLAID Inc. 19 障害でエラーバジェット超過時の対応 - 悩み
- 根本原因を解決するまで結構時間がかかるが対応まで開発ストップする? - ポイント - エラーバジェットの消費率を抑える対応(軽減策)を早急に⾏う - 根本原因の対応が重いケースは事後で⾏う 運⽤時の問題‧対応
yyyy.mm.dd | Event name here | | © PLAID Inc. 20 運⽤時の問題‧対応 定常的な消費率が高い時の対応 -
基本的にはSLO初期設定時に多い - 対応としては - 初期設定時はチューニングが必要なケースが多いため、閾値を⾒直す - ⼀定期間運⽤後は何かが悪化しているサインなので⼀次調査を⾏う
yyyy.mm.dd | Event name here | | © PLAID Inc. 21 どうやってSLOを見直す? 運⽤時の問題‧対応
yyyy.mm.dd | Event name here | | © PLAID Inc. 22 運⽤時の課題‧対応 ありがちなパターン 1.
どのサービス‧機能に対してSLOを設定するか? 考えずに現状維持してしまうことが多い 2. どういう指標(SLI)を⾒るのか? Quarterごとに実績や指標の過不⾜を振り返る 3. ⽬標値(SLO)をどのように設定するのか? Quarterごとに実績やフェーズをもとに閾値の⾒直し
yyyy.mm.dd | Event name here | | © PLAID Inc. 23 運⽤時の課題‧対応 今トライしているアプローチ やりたいこと
- クライアントのプロダクトに対する期待値を考慮した上でSLOを更新したい アプローチ - 障害発⽣時に障害に対するをクライアントから取得する - お互いの評価を付き合わせて認識のずれを把握する
yyyy.mm.dd | Event name here | | © PLAID Inc. 24 運⽤時の課題‧対応 SLO対象の更新について どのサービス‧機能に対してSLOを設定するか?
- 障害評価でのずれをもとにクリティカルなサービス‧機能の⾒直し
yyyy.mm.dd | Event name here | | © PLAID Inc. 25 まとめ まとめ -
KARTEでの様々なプロダクトでSLOを浸透させる上でのポイントを紹介 - “正確さ” という指標(SLI)の導⼊ - エラーバジェット超過時の対応⽅針 - SLOの⾒直し⽅法 - これからも試⾏錯誤を繰り返していきつつ、洗練させていく
yyyy.mm.dd | Event name here | | © PLAID Inc. エンジニア募集 26 画像が⼊ります エンジニアの仲間を積極的に募集中です!
https://recruit.plaid.co.jp/#SLO_20230705