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.2k
PLAID マルチプロダクト環境下で SLO運用を浸透させるために 20230705
マルチプロダクト環境下でSLOを運用していく上での取り組みや背景にある考え方を具体例を交えながら紹介
Jun
July 10, 2023
Tweet
Share
More Decks by Jun
See All by Jun
20230713_PLAID_マルチプロダクトでのデータ分析基盤(集中と分散)
kusahana
0
140
Cloud Bigtable を使いこなす秘訣 2022
kusahana
0
1.7k
KARTE リアルタイムユーザー解析基盤のDB (450TB)をゼロダウンタイムで 新DBに移行したノウハウ
kusahana
3
4.4k
Other Decks in Programming
See All in Programming
安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記
sakuraikotone
5
2.3k
PHPでお金を扱う時、終わりのない 謎の1円調査の旅にでなくて済む方法
nakka
3
1.2k
バックエンドNode.js × フロントエンドDeno で開発して得られた知見
ayame113
5
1.3k
NestJSのコードからOpenAPIを自動生成する際の最適解を探す
astatsuya
0
190
Day0 初心者向けワークショップ実践!ソフトウェアテストの第一歩
satohiroyuki
0
410
アーキテクトと美学 / Architecture and Aesthetics
nrslib
12
3.1k
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
110
ステートソーシング型イベント駆動の視点で捉えるCQRS+ES
shinnosuke0522
1
320
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
430
CRE Meetup!ユーザー信頼性を支えるエンジニアリング実践例の発表資料です
tmnb
0
350
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
730
PHPer's Guide to Daemon Crafting Taming and Summoning
uzulla
2
1.1k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
39
7.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Building Adaptive Systems
keathley
41
2.5k
YesSQL, Process and Tooling at Scale
rocio
172
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
KATA
mclloyd
29
14k
Agile that works and the tools we love
rasmusluckow
328
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Cost Of JavaScript in 2023
addyosmani
48
7.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Practical Orchestrator
shlominoach
187
10k
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