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

絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microC...

Avatar for microCMS microCMS
August 29, 2025

絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例

2025年8月22日に行われた microCMS Meetup 2025での 株式会社WinTicket加藤様の発表資料です。
https://microcms.connpass.com/event/358603/

イベントアーカイブ(YouTube)
https://www.youtube.com/live/H8KeF08G3Gw?si=Kj8M7N4cwmyfCRVz&t=1118

Avatar for microCMS

microCMS

August 29, 2025
Tweet

More Decks by microCMS

Other Decks in Technology

Transcript

  1. 加藤 零 - kato, rei a 2023年 株式会社サイバーエージェント新卒入8 a 株式会社

    WinTicket、Web チームマネージャF a # Web Speed Hackathon 2024 作問者 @cut0_ @cut0
  2. WinTicket について C 公営競技ネット投票サービV C 競輪/オートレーV C 2019年4月リリーV C 市場シェア

    No.9 C Web App、Flutter App の展開 #React #Fastly #Go #Kubernetes #Flutter #Cloud Run #Google Cloud #TypeScript #TanStack Query
  3. キャンペーンについて 開発工数の確t v 失敗できないキャンペーンなので、不要なオペレーションを削減し充分な開発工数を 確保する必要あり 負荷対V T App ユーザーも WebView

    を経由して LP にアクセスするため、全ユーザーがアクセ スする前提での対策が必要 耐障害# v 表示に誤りがあった場合、瞬時に修正を反映可能な状態
  4. microCMS による運用 下記のオペレーションを大幅削減 Q ビジネスサイド → エンジニアへの文言変更依7 Q デザイナー →

    エンジニアへの画像差し替え依頼 他職種の進行状態を加味せず、エンジニアの開発が進行可能に!
  5. microCMS による運用 WinTicket Web では静的な画像をリポジトリ内で管理している → レスポンシブ画像を実現するため、画像を 1x, 1.5x, 2x

    に書き出していた microCMS 自体が入稿した画像を編集するための API を提供 → 各画像サイズに書き出す作業を解消 (参考s ‰ https://document.microcms.io/image-api/introduction
  6. 負荷対策 ただし下記の制約がある d コンテンツの転送量毎に課金が発E d GET API のレートリミットが 60回 /

    1秒 (※オリジンに到達した場合) 大抵の場合は問題ないが、 失敗できないキャンペーンという特性上対策しておきたい... → microCMS の前段にプロキシサーバを設置
  7. 負荷対策 microCMS のエンドポイントを隠蔽 Fastly を前段に設B 4 プロキシサーバ側 でも CDN キャッシュを活用

    VCL を活ƒ 4 プロダクト要件に合わせた柔軟な キャッシュ戦略を実現 WINTICKET 側で管理
  8. 負荷対策 下図のようなフローにより、プロキシサーバとの通信に規約を提供 Proxy Repository Web Repository GitHub Packages install publish

    Fastify を利用したサーバーを構“ Ÿ @sinclair/typebox を利用することで各エンドポイン トのスキーマを定‡ Ÿ Fastify のバリデーションに各スキーマを適˜ Ÿ main ブランチへの push を契機に各スキーマを tsc でビルドしたものを GitHub Packages に publish
  9. 下書き入稿機能の活用 WINTICKET には「特定のリクエストヘッダ」を付与 することで、アクセス可能な DarkCanary が存在 Cloud Load Balancing の

    URL Mapping 機能を利用 することで、向き先の Cloud Run サービスを設定 平時の開発では本番に機能をリリースする直前に動作 検証を実施するために利用 (参考} Œ https://developers.cyberagent.co.jp/blog/archives/41382ˆ Œ https://developers.cyberagent.co.jp/blog/archives/41416/
  10. まとめ 負荷対G " microCMS の前段にプロキシサーバを構築することで、高負荷が予想されるキャン ペーンを乗り切った 運用™ " microCMS にコンテンツを集約することで、不要なオペレーションを削減し、適切な

    権限に基づいたコンテンツアクセスを実現 障害対G " WINTICKET Web の Dark Canary と microCMS の下書き入稿を組み合わせること で、本番環境での事前確認を可能に