🙆

ZOZO Tech Meetup〜マイクロサービス化に取り組む、16年目のZOZOTOWN〜

2021/07/29に公開

概要

2021/07/28に開催された下記勉強会のメモです
https://zozotech-inc.connpass.com/event/217488/

https://www.youtube.com/watch?v=d_s8Bruerzg

セッション

ZOZOTOWN(16歳)の悩みをSREが赤裸々に語る

  • モノリスをマイクロサービスに
    • ストラングラーパターン
  • BFFの導入
  • AWS EKSで管理
  • サービスメッシュ
    • GCPも使っているのでistioを選択(技術共有の意味合いもある)
    • カナリアリリース

https://techblog.zozo.com/entry/zozo-aggregation-api-bff

Backends For Frontends(BFF)をプロダクションレディするまでの取り組み

  • システム自体の監視分析ができている状態を作った
  • マイクロサービスのデメリット調査が難しい
    • 関連サービスが多い
    • サービス間の監視が重要
    • APM
  • 負荷試験/障害試験
    • 試験用Mockを作成
    • 結合負荷試験
      • バックエンド側が問題になる場合もあるのでチーム全体で
      • ダッシュボード重要
    • AWS Gatlingを使った

これ?※未確認です
https://github.com/j5ik2o/aws-gatling-tools

ZOZOTOWNトップページの裏側

  • トップページのAPI
    • ZOZO Aggregation API
      • マイクロサービスへの通信のまとめ、A/Bテストなど
      • 重い
      • これがダウンとするとトップページが見れなくなる
  • 通信量が多いのでRedisでキャッシュ
    • Cache Stampede対策
  • BFFはクライアントと1:1にすべき
    • web用
    • App用

https://techblog.zozo.com/entry/zozotown-cache-stampede

ZOZOTOWN 検索機能のマイクロサービス化への取り組みについて

  • マイクロサービス化する上で気をつけたところ
    • 技術的負債を抱えない方法を選択
  • ユニットテストが書いてあると安心して移植できる
  • コードの品質を保つための静的解析
    • SonarCloud
  • 得られた効果
    • 意思決定が早く開発速度がUP
    • 自チームでAPI開発が完結

https://techblog.zozo.com/entry/zozotown-search-microservice

リプレイスを通して実現した、より高度なサービス改善

  • 分析できる世界へ
    • Datadog
    • Sentry
    • Amazon Athena
  • 言語的制約(Classic ASP)→効率よく開発できる世界
  • 自信を持って仲間集めに動ける
    • チャレンジングなことができる

https://techblog.zozo.com/entry/zozotown-search-suggestion

Discussion