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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Jun
July 10, 2023
Programming
2.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PLAID マルチプロダクト環境下で SLO運用を浸透させるために 20230705
マルチプロダクト環境下でSLOを運用していく上での取り組みや背景にある考え方を具体例を交えながら紹介
Jun
July 10, 2023
More Decks by Jun
See All by Jun
20230713_PLAID_マルチプロダクトでのデータ分析基盤(集中と分散)
kusahana
0
200
Cloud Bigtable を使いこなす秘訣 2022
kusahana
0
2k
KARTE リアルタイムユーザー解析基盤のDB (450TB)をゼロダウンタイムで 新DBに移行したノウハウ
kusahana
3
5.1k
Other Decks in Programming
See All in Programming
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
230
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
170
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
270
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
1.6k
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.5k
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.7k
Oxlintのカスタムルールの現況
syumai
5
1k
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
140
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
160
New "Type" system on PicoRuby
pocke
1
470
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
320
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.4k
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
ラッコキーワード サービス紹介資料
rakko
1
3.6M
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
BBQ
matthewcrist
89
10k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Prompt Engineering for Job Search
mfonobong
0
330
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
550
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