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

ZOZOTOWNにおけるインフラの最適化 / Optimization of infrastr...

ZOZOTOWNにおけるインフラの最適化 / Optimization of infrastructure in ZOZOTOWN

■イベント 

【EngineeringTeamPresentation】各社の事業を支えるインフラストラクチャ―
https://sansan.connpass.com/event/214765/

■登壇概要
タイトル:ZOZOTOWNにおけるインフラの最適化
発表者:株式会社ZOZOテクノロジーズ EC基盤本部 SRE部 ZOZOSRE
リーダー 渡邉 宣彦

▼Builders Box

https://buildersbox-online.com/

Builders Box

August 16, 2021
Tweet

More Decks by Builders Box

Other Decks in Technology

Transcript

  1. ZOZOTOWNにおける
 インフラ最適化
 株式会社ZOZOテクノロジーズ
 EC基盤本部 SRE部 ZOZO SREチーム
 リーダー 渡邉 宣彦 Copyright

    © ZOZO Technologies, Inc. Engineering Team Presentation powerd by Builders Box
  各社の事業を支えるインフラストラクチャー 2021/8/11
 1
  2. © ZOZO Technologies, Inc. 株式会社ZOZOテクノロジーズ
 EC基盤本部 SRE部 ZOZOSREチーム リーダー 渡邉

    宣彦
 金融系ソフトウェア開発、ECサイトの構築運用を経て
 2019年2月に株式会社ZOZOテクノロジーズへ入社。
 オンプレミス中心のインフラからAWSへの移行が進みつつある
 ハイブリッド環境を運用するSREチームのリーダー
 2
  3. © ZOZO Technologies, Inc. https://zozo.jp/
 3 • 日本最大級のファッション通販サイト
 • 1,400以上のショップ、8,200以上のブランドの取り扱い(ともに2021年3月

    末時点)
 • 常時83万点以上の商品アイテム数と毎日平均2,900点以上の新着 商品 を掲載
 • コスメ専門モール「ZOZOCOSME」や靴の専門モール
 「ZOZOSHOES」、ラグジュアリー&デザイナーズゾーン
 「ZOZOVILLA」を展開
 • 即日配送サービス
 • ギフトラッピングサービス
 • ツケ払い など

  4. © ZOZO Technologies, Inc. • ZOZOTOWNリプレイスとチームの関わり方
 • ZOZOTOWNの負荷対策 • 運用業務の改善

    • 監視 • NextStep • 最適化を進めるために意識してきたこと
 Topics
 4
  5. © ZOZO Technologies, Inc. 8 〜2017 従来のZOZOTOWNのインフラ構成
 特徴
 • OS:Windows

    Server 
 WEB:IIS 
 Application:VBScript + Classic ASP
 
 • DB : SQL Server + ストアドプロシージャ
 
 • データに近い場所で処理するため高速
 
 • ZOZOTOWNの開始当時のベストプラクティス
 課題
 • スケールアウトしづらい
 • 年々開発しづらくなってきていた

  6. © ZOZO Technologies, Inc. 9 2017〜2019 クラウド移行第1フェーズ
 特徴
 • 参照系ワークロードからクラウドへと移行を開始


    ストアドプロシージャ→Java APIへ
 結果、スケーラビリティが向上
 
 • オンプレミス⇆AWS間はDirectConnect
 
 • リプレイスを専門とするチームが発足
 課題
 • 根本のアーキテクチャは改善できていない
 • 更新系処理のリプレイス計画が未定

  7. © ZOZO Technologies, Inc. 10 
 
 
 2020年1月
 


    クラウド移行第2フェーズが開始
 移行方針や組織が整備され
 リプレイスおよびマイクロサービス化が加速する
 
 【オンラインMeetup イベントレポート】ZOZOTOWNシステムリプレイスの裏側 - ZOZO Technologies TECH BLOG

  8. © ZOZO Technologies, Inc. 11 リプレイスと足並みを揃える必要があった
 リプレイスするって言っても
 すぐに終わるわけじゃない。
 EOLが来ちゃったら
 オンプレはどうするの?

    新しい技術を採用 するにしても
 ほんとに大丈夫?
 ちょっと
 時間が足りない
 と思います
 自分たちが管理するインフラの課題は
 誰よりも把握しているはず

  9. © ZOZO Technologies, Inc. 12 
 1 ZOZOTOWNの負荷対策
  →リプレイスの進捗にかかわらずセールはやってくる
 


    2 運用業務
  →特にセキュリティ関連の業務が重荷になっていた
 
 3 監視の仕組み
 →リプレイスが進み、変化していくインフラに追随できていない
 
 現行基盤の運用に追われて、インフラの改善が進まない恐れがあった
 
 弊チームが持っていた3つの課題

  10. © ZOZO Technologies, Inc. 15 (従来のセール対策の流れ)
 1. 稼働中のリソースからどの程度許容できるか検討
 2. ピーク時のアクセス予測を算出し、必要となるハードウェア数を確定


    3. ハードウェアの発注&構築作業をSIベンダーに依頼
 
 (問題点)
 • 年間のピークに合わせた増設なので大半の期間では過剰な投入に
 • SIを依頼するので発注から本番投入までリードタイム約3ヶ月
 
 
 
 オンプレミス→クラウド、CAPEX→OPEXへの流れと逆行・・・
 
 ZOZOTOWNの負荷対策を再考する

  11. © ZOZO Technologies, Inc. 17 できなかった
 ZOZOTOWNのセッション情報は
 WEBサーバ内に保存
 
 ユーザーを常に同一のサーバに送る必要があるため


    LBで付与しているCookieを使った
 コントロールが必要だった
 
 
 
 
 課題
 • やはりスケールアウトしづらい
 • LBの運用が都度都度発生してしまう

  12. © ZOZO Technologies, Inc. 18 VMware Cloud on AWSの活用
 •

    L2延伸が可能
  一度オンプレミスで受けたトラフィックをそのまま
  DirectConnect経由でAWS上のVMに流すことが可能
 
 • 同一の技術スタック
 VMwareの仮想基盤は従来から使用していたため
  運用上の懸念もとくになかった
 アプリケーションの改修が不要という点で
 クラウドリソースを活用するための
 第一歩としてはベストな選択だった
 オンプレミスからVMware Cloud on AWSへのネットワークL2延伸の選択肢 
 | Amazon Web Services ブログ 

  13. © ZOZO Technologies, Inc. 計画 見積り 発注 納品 構築 投入

    ホスト起動 構築 投入 従来は最長で3ヶ月から4ヶ月程度の工程
 
 数ヶ月かかっていた増設作業が、苦心の末3日程度で100ホストの投入に成功
 
 
 
 
 最大の利点=工数の削減
 3週間 8週間 1週間 1日 1日 1日 1日 1日 1日 2020年の冬セールで初めてHW増設に頼らない負荷対策を実現

  14. © ZOZO Technologies, Inc. 21 
 • 権威DNSサーバーの運用
 BIND脆弱性対応
 •

    FW WAF LBなどのネットワーク機器
  各セキュリティポリシーの管理、運用
 • セキュリティ対策
  万全な攻撃対策と熟知したエンジニアの教育
 • GUI中心の作業
  Windows Serverで構成されていて自動化がなかなか進まない
 
 長年オンプレミスで運用してきた基盤あるあるの課題
 特に負荷が高かった運用業務

  15. © ZOZO Technologies, Inc. 22 DNSをまず最初になんとかする
 
 • BINDの脆弱性対応からの解放
 


    
 • いかに堅牢なサービスに仕上げたとしても
 DNSがダウンする可能性もある
 オンプレミスのDNSサーバのみでは
 可用性の問題があった
 
 
 
 
 セキュリティ対策と可用性向上のため
 Hidden-Primary構成に

  16. © ZOZO Technologies, Inc. 23 長年の課題だったCDN WAFもCloud型へ 
 • 長年の導入できていなかったサイトのCDN化を実現
 
 •

    今までオンプレミスで処理してきたWAFを
 Akamaiにオフロードしつつ機能面も格段に向上
 
 • DDoS対策としても期待
 
 • WEBサーバで保持される静的ファイルもCDNで
 サイトパフォーマンス向上に寄与
 
 
 
 zozo.jpはZone Apexのため
 CNAMEが使用できないが
 Zone Apex Mappingを利用して解決

  17. © ZOZO Technologies, Inc. 24 2021/7/23・・・
 本来はセカンダリのDNSサービスを
 複数用意しておくことで
 DNS障害に耐えることができるが、、、
 https://edgedns.status.akamai.com/

    五輪やJALの公式サイト、PSNなどで一時アクセス障害 AkamaiのDNSが原 因か五輪やJALの公式サイト、PSNなどで一時アクセス障害 AkamaiのDNS が原因か - ITmedia NEWS 世界規模のDNS障害が発生中 ~Akamaiを採用の企業に影響か(復旧済み) - 窓の杜 可用性向上とか大きい事を
 言っておきながら・・・orz

  18. © ZOZO Technologies, Inc. 25 DBCacheをElastiCacheへリプレイス
 • DBCacheを
 ElastiCacheへ移行
 


    • CacheRedisリリース後
 大きな問題がなければ
 Session情報の移行を次のPhaseで
 
 2020年9月にリリース完了し
 現在まで大きな問題もなく安定稼働中

  19. © ZOZO Technologies, Inc. 
 千葉 幕張(当時)というロケーションもあってか
 他IT企業との繋がりが薄かったことは事実
 
 2019年はかなり広範囲の企業に攻撃が流行った年でもあった


    様々な企業との繋がりを構築しておきたかったため
 CSIRTの立ち上げ、およびNCAへの加盟を行う
 
 26 CSIRTの立ち上げおよびNCAに加盟
 セキュリティ意識向上にもつながり
 現在においてもセキュリティを支える組織となっている

  20. © ZOZO Technologies, Inc. 27 
 Windows Serverで構成されているZOZOTOWNにおいて
 今まではGUIでの設定変更作業が中心で運用の自動化は特に高いハードルだった
 


    サーバ構築のリードタイムを短縮できてもサービスへ投入する事前作業で
 大量に時間を要していては運用負荷の軽減とはならないため
 AWXを用いて運用の自動化を推進
 AWXを用いたZOZOTOWNオンプレミス環境における自動化の取り組み - ZOZO Technologies TECH BLOG
 
 
 
 
 自動化推進
 結果、作業に要する時間を5分の1まで短縮することが可能に!

  21. © ZOZO Technologies, Inc. 30 
 • NW機器、WEB、DBでそれぞれ得意分野とする監視システムが存在することから
  どこでどんな問題が起きているかを把握するために確認に時間を要する
 


    • 監視サーバはオンプレミスの内部に存在しており
  都度アクセス権の問題があり、組織全体に展開できない仕様となっている
  
 • マイクロサービス化が進むと、管掌範囲がチームごとに別れるため
 従来の監視のままでは全体像を把握できなくなる
 
 
 
 監視についての課題とは?

  22. © ZOZO Technologies, Inc. 31 メトリクス監視+ログ分析
 • 全ログをSplunkに取り込むことで
 今どこで遅延が発生しているかを特定が可能に
 


    • オンプレミスはもちろん
 AWSやCDNとの連携も可能に
 
 • Splunk Cloudの採用で
 監視システムの運用も不要になった
 
 
 導入してから約2年ほどが経過
 今ではZOZOTOWN全体で
 利用が広がっている
 
 使い勝手の良いSplunkダッシュボードの作り方 - ZOZO Technologies TECH BLOG

  23. © ZOZO Technologies, Inc. 34 Session機能をElastiCacheへ移行
 • 今までWEBサーバに保持していた
 Session情報をElastiCacheへ格納
 


    • これにより、CookiePersistenceを
 外すことが可能になる
 
 
 
 ロードバランサーの制約が外れることで
 AWS上でのWEBサーバのスケールアウトが実現できるように

  24. © ZOZO Technologies, Inc. 37 改善点を踏まえたEC2へのスケールアウト
 トラフィックを受ける
 WEBサーバは
 オンプレミスのみでしか
 展開できない制約があった


    
 EC2で展開できる状態になれば
 今後はまずAPIサーバが
 オンプレミスからAWSへ
 完全移行できる想定に
 

  25. © ZOZO Technologies, Inc. 38 今後実現させていく必要がある重要課題
 
 • サーバリソースのオートスケール
 


    
 • Blue/Green Deploy
 
 
 
 将来的にもさらなる運用改善を図るため
 この2点を早くクリアできるように設計中
 

  26. © ZOZO Technologies, Inc. 40 リプレイスを開始する前に
 
 • クラウドは別チームが運用するから関係なさそう
 


    • なぜリプレイスをするのかわからない
 
 • リプレイスのロードマップが見えない
 
 • 自分たちの業務が否定されているように感じる
 
 
 
 立場が異なれば思想も異なる
 
 個人の意見を疎かにせず時間をかけて向き合うこと

  27. © ZOZO Technologies, Inc. 41 まず整えておくべきこと
 • クラウドは別チームが運用するから関係なさそう
 →必要以上にチームで分断しない。必ずプロジェクトに参画する。させる。
 


    • なぜリプレイスをするのかわからない
 →リプレイスの理由は社内のどこかで徹底的に議論されていたはず。
  把握していないのであれば情報を適切に収集し、公開する。
 
 • リプレイスのロードマップが見えない
 →既存のインフラ基盤の更改もあるので時期感やスケジュールの進捗は気になる。
  プレッシャーがかかる人もいるので、ロードマップは定期的にすり合わせを行う。
 
 • 自分たちの業務が否定されているように感じる
 →既存環境は誰かが今まで手塩にかけて育て、作り上げてきた大切な資産。
  否定的な論調が強くなりすぎていないか、一度立ち止まってみる。
  否定されて気持ちよく仕事ができることはない。
 

  28. © ZOZO Technologies, Inc. 42 結果はあとからついてくる
 
 • 小さなことから成功体験を積み重ねることで自信につながる
 


    • 成功により、考え方や意識が変わってくる
 
 • 新しい人材、技術、体制を受け入れる余裕が整う
 
 • ソウゾウのナナメウエを実践するサイクルが出来上がってくる
 
 
 
 チームとして成熟し
 初めて組織がスケールしていく

  29. 44