Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PLAID マルチプロダクト環境下で SLO運用を浸透させるために 20230705

Avatar for Jun Jun
July 10, 2023

PLAID マルチプロダクト環境下で SLO運用を浸透させるために 20230705

マルチプロダクト環境下でSLOを運用していく上での取り組みや背景にある考え方を具体例を交えながら紹介

Avatar for Jun

Jun

July 10, 2023
Tweet

More Decks by Jun

Other Decks in Programming

Transcript

  1. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. 株式会社プレイド  日鼻 旬(@junkusahara) 2019年にプレイドにジョイン。

    リアルタイム解析基盤のリニューアルをリー ド。 その後はKARTEのインフラ基盤全体を統括 し、基盤およびその上で動く各プロダクトの SLOの運用などに注力
  2. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. マルチプロダクト での課題 6 アジェンダ

    マルチプロダクトでの課題 SLO浸透に向けた取り組み 運用で出てきた問題と対応 まとめ
  3. 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月までにおける最大値
  4. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. マルチプロダクト での課題 10 アジェンダ

    マルチプロダクトでの課題 SLO浸透に向けた取り組み 運用で出てきた問題と対応 まとめ
  5. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. 12 SLO浸透に向け た取り組み SLO設計時の悩ましいポイント

    1. どのサービス・機能に対してSLOを設定するか? 2. どういう指標(SLI)を見るのか? 3. 目標値(SLO)をどのように設定するのか?
  6. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. 13 SLO浸透に向け た取り組み どういうサービス・機能に対してSLOを設定するか?

    ⾃分達 & クライアントに対して信頼性が重要なクリティカルなポイントは? - End User体験に関わる配信機能 - Client側で⾃動‧半⾃動オペレーションに組み込まれている機能
  7. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. 14 SLO浸透に向け た取り組み どういう指標(SLI)を見るか?

    定番の指標 - 可⽤性 - APIの成功率(例. 成功request数 / 全request数) - パフォーマンス - レイテンシー(例. p95でx msec以内) - スループット(例. 1時間以内の処理件数xx件) 上の指標の課題 - エラーは出ていないけど機能していない問題をちゃんと捕捉できない - 本来表⽰すべきところが表⽰されてない etc - 外型監視でモニターすることも考えたが網羅できない
  8. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. 15 SLO浸透に向け た取り組み 可用性・パフォーマンスでは補足できない指標を追加

    正確さという項⽬を加え、近似値でもいいから定量的に取れるようにする - 可⽤性 - APIの成功率(例. 成功request数 / 全request数) - パフォーマンス - レイテンシー(例. p95でx msec以内) - スループット(例. 1時間以内の処理件数Y件) - 正確さ - 特定の期間内に正確さを損なうクリティカルな障害がX件以内であること
  9. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. マルチプロダクト での課題 16 アジェンダ

    マルチプロダクトでの課題 SLO浸透に向けた取り組み 運用で出てきた問題と対応 まとめ
  10. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. 18 SLOのエラーバジェット超過した時、どうする? 使い果たす主要なパターン -

    A. ⼤きな障害が起きて⼀気にエラーバジェット消費 - B. 定常的なバジェット消費率が想定より⾼い 運⽤時の問題‧対応
  11. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. 19 障害でエラーバジェット超過時の対応 - 悩み

    - 根本原因を解決するまで結構時間がかかるが対応まで開発ストップする? - ポイント - エラーバジェットの消費率を抑える対応(軽減策)を早急に⾏う - 根本原因の対応が重いケースは事後で⾏う 運⽤時の問題‧対応
  12. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. 20 運⽤時の問題‧対応 定常的な消費率が高い時の対応 -

    基本的にはSLO初期設定時に多い - 対応としては - 初期設定時はチューニングが必要なケースが多いため、閾値を⾒直す - ⼀定期間運⽤後は何かが悪化しているサインなので⼀次調査を⾏う
  13. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. 22 運⽤時の課題‧対応 ありがちなパターン 1.

    どのサービス‧機能に対してSLOを設定するか? 考えずに現状維持してしまうことが多い 2. どういう指標(SLI)を⾒るのか? Quarterごとに実績や指標の過不⾜を振り返る 3. ⽬標値(SLO)をどのように設定するのか? Quarterごとに実績やフェーズをもとに閾値の⾒直し
  14. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. 23 運⽤時の課題‧対応 今トライしているアプローチ やりたいこと

    - クライアントのプロダクトに対する期待値を考慮した上でSLOを更新したい アプローチ - 障害発⽣時に障害に対するをクライアントから取得する - お互いの評価を付き合わせて認識のずれを把握する
  15. yyyy.mm.dd  |  Event name here  |    |  © PLAID Inc. 25 まとめ まとめ -

    KARTEでの様々なプロダクトでSLOを浸透させる上でのポイントを紹介 - “正確さ” という指標(SLI)の導⼊ - エラーバジェット超過時の対応⽅針 - SLOの⾒直し⽅法 - これからも試⾏錯誤を繰り返していきつつ、洗練させていく