Slide 1

Slide 1 text

ZOZOTOWNの進化と信頼性を 両立する負荷試験 年十数回、現場の課題と効率化 株式会社ZOZO EC基盤開発本部 SRE部 会員ID基盤SREブロック 松石 侑樹 Copyright © ZOZO, Inc. 1

Slide 2

Slide 2 text

© ZOZO, Inc. 株式会社ZOZO EC基盤開発本部 プラットフォームSRE部会員ID基盤SREブロック 松石 侑樹 ZOZOTOWNの認証認可基盤を運用しています。 ● 趣味: フットサル・旅行・料理 ● 好きな技術: DevOps, Observability, Datadog ● X: @kitsune_yk 2

Slide 3

Slide 3 text

© ZOZO, Inc. 3 概要 — ZOZOTOWNのマイクロサービス負荷試験とは • 対象: 6つのマイクロサービス ○ もちろん、他ドメイン(カートや検索)のSREも × マイクロサービス分実施 • 準備含め3週間程度 × 年十数回のペース(弊チームの場合) • 見逃すとログイン・購入障害に直結 要件すり合わせ 事前準備 試験実施 試験完了後の確認

Slide 4

Slide 4 text

© ZOZO, Inc. 4 今日話すこと • 本来SREとして力を入れたいのは、サービス信頼性や開発効率化、DevOps、 オブザーバビリティの改善 etc • そのための時間を作るため、負荷試験の工数削減に取り組んできた • 負荷試験基盤の改修ではなく、既存の仕組みをどう整えてきたか

Slide 5

Slide 5 text

© ZOZO, Inc. 5 つらみな背景 — 判断の積み重ねで手一杯だった時期 • 事前準備だけでも大変 • それぞれの項目の判断のたびに議論、試験を回すだけで手一杯 2025年:手順の多さ・考慮ポイントの多さに限界を迎え始めた自分

Slide 6

Slide 6 text

© ZOZO, Inc. 6 負荷試験では考えることがいっぱい!! • 実際のガイドラインより抜粋(事前準備フェーズの一部だけでこの量)

Slide 7

Slide 7 text

© ZOZO, Inc. 7 解決した課題① — シナリオの標準化 • 本番の実測RPSを基準に、ベースとなる負荷試験シナリオを作成 ○ 他サービスにも展開中 • シナリオ作成のたびの議論がなくなった

Slide 8

Slide 8 text

© ZOZO, Inc. 8 解決した課題② — 外部依存の切り離し(チームの取り組み) • 外部サービス依存で試験が止まる問題を、ルーティングの工夫で解消 Before 各Deploymentの環境変数を 直接Mockに向ける STG環境全体に影響 (他チームの開発やQAをブロック) After Istio VirtualServiceで負荷試験 基盤からのリクエストだけを転送 Mockだけに影響 STG環境の他は無傷

Slide 9

Slide 9 text

© ZOZO, Inc. 9 解決した課題③ — Mock運用への個人の貢献 • Mock環境の作成・削除のラッパーツール作成 • モックリソース・負荷試験リクエストの監視用のDatadog dashboardを作成 • OSSのprism-in-k8sにコントリビュート

Slide 10

Slide 10 text

© ZOZO, Inc. 10 解決した課題④ — 属人化を防ぐガイドライン整備 • 試験手順をガイドラインとして整備(日々ブラッシュアップ中) • 新メンバーも迷わず試験を進められる

Slide 11

Slide 11 text

© ZOZO, Inc. 11 これからの改善や理想像 • リクエスト数ベースの試験要否基準づくりはまだ道半ば • 負荷試験自体のGitHub Actions自動化・ChatOps化を構想中 • 工数削減の数字は、これから

Slide 12

Slide 12 text

© ZOZO, Inc. まとめ 最小の工数で、最大の価値を! 判断基準を言語化・数値化すると再現性が生まれます。 浮いた時間は、サービス信頼性やDevOps・オブザーバビリティの改善に使いたい! ※同じ悩みを持つ方、ぜひ懇親会・ブースでお話ししましょう! 12

Slide 13

Slide 13 text

No content