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
550
PLAID マルチプロダクト環境下で SLO運用を浸透させるために 20230705
マルチプロダクト環境下でSLOを運用していく上での取り組みや背景にある考え方を具体例を交えながら紹介
Jun
July 10, 2023
Tweet
Share
More Decks by Jun
See All by Jun
20230713_PLAID_マルチプロダクトでのデータ分析基盤(集中と分散)
kusahana
0
90
Cloud Bigtable を使いこなす秘訣 2022
kusahana
0
1.4k
KARTE リアルタイムユーザー解析基盤のDB (450TB)をゼロダウンタイムで 新DBに移行したノウハウ
kusahana
3
3.6k
Other Decks in Programming
See All in Programming
SIMD Parallel Programming with the Vector API
josepaumard
0
220
Sheets API使ってみた
toshi0383
2
150
禅の心を手に入れよ
eltociear
1
280
Git Rebase
bkuhlmann
11
1.6k
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
480
Fast JSX: Don't clone props object #28768
yossydev
1
160
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
430
PHPはいつから死んでいるかの調査
chiroruxx
2
410
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
Node.js v22 で変わること
yosuke_furukawa
PRO
11
3.9k
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
120
Featured
See All Featured
In The Pink: A Labor of Love
frogandcode
138
21k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
GraphQLとの向き合い方2022年版
quramy
33
12k
Clear Off the Table
cherdarchuk
85
310k
The Invisible Side of Design
smashingmag
294
49k
Six Lessons from altMBA
skipperchong
22
3k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
Practical Orchestrator
shlominoach
183
9.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
38
2.5k
Documentation Writing (for coders)
carmenintech
61
4k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.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