Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

© ZOZO Technologies, Inc. 株式会社ZOZOテクノロジーズ
 EC基盤本部 SRE部 ZOZOSREチーム リーダー 渡邉 宣彦
 金融系ソフトウェア開発、ECサイトの構築運用を経て
 2019年2月に株式会社ZOZOテクノロジーズへ入社。
 オンプレミス中心のインフラからAWSへの移行が進みつつある
 ハイブリッド環境を運用するSREチームのリーダー
 2

Slide 3

Slide 3 text

© ZOZO Technologies, Inc. https://zozo.jp/
 3 ● 日本最大級のファッション通販サイト
 ● 1,400以上のショップ、8,200以上のブランドの取り扱い(ともに2021年3月 末時点)
 ● 常時83万点以上の商品アイテム数と毎日平均2,900点以上の新着 商品 を掲載
 ● コスメ専門モール「ZOZOCOSME」や靴の専門モール
 「ZOZOSHOES」、ラグジュアリー&デザイナーズゾーン
 「ZOZOVILLA」を展開
 ● 即日配送サービス
 ● ギフトラッピングサービス
 ● ツケ払い など


Slide 4

Slide 4 text

© ZOZO Technologies, Inc. ● ZOZOTOWNリプレイスとチームの関わり方
 ● ZOZOTOWNの負荷対策 ● 運用業務の改善 ● 監視 ● NextStep ● 最適化を進めるために意識してきたこと
 Topics
 4

Slide 5

Slide 5 text

© ZOZO Technologies, Inc. ZOZOTOWNリプレイスと チームの関わり方 5 5

Slide 6

Slide 6 text

© ZOZO Technologies, Inc. 6 ZOZOTOWNはアーキテクチャを変えずに規模を拡大してきた
 2004年
 2007年
 2019年


Slide 7

Slide 7 text

© ZOZO Technologies, Inc. 7 2017年4月 7

Slide 8

Slide 8 text

© ZOZO Technologies, Inc. 8 〜2017 従来のZOZOTOWNのインフラ構成
 特徴
 ● OS:Windows Server 
 WEB:IIS 
 Application:VBScript + Classic ASP
 
 ● DB : SQL Server + ストアドプロシージャ
 
 ● データに近い場所で処理するため高速
 
 ● ZOZOTOWNの開始当時のベストプラクティス
 課題
 ● スケールアウトしづらい
 ● 年々開発しづらくなってきていた


Slide 9

Slide 9 text

© ZOZO Technologies, Inc. 9 2017〜2019 クラウド移行第1フェーズ
 特徴
 ● 参照系ワークロードからクラウドへと移行を開始
 ストアドプロシージャ→Java APIへ
 結果、スケーラビリティが向上
 
 ● オンプレミス⇆AWS間はDirectConnect
 
 ● リプレイスを専門とするチームが発足
 課題
 ● 根本のアーキテクチャは改善できていない
 ● 更新系処理のリプレイス計画が未定


Slide 10

Slide 10 text

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


Slide 11

Slide 11 text

© ZOZO Technologies, Inc. 11 リプレイスと足並みを揃える必要があった
 リプレイスするって言っても
 すぐに終わるわけじゃない。
 EOLが来ちゃったら
 オンプレはどうするの? 新しい技術を採用 するにしても
 ほんとに大丈夫?
 ちょっと
 時間が足りない
 と思います
 自分たちが管理するインフラの課題は
 誰よりも把握しているはず


Slide 12

Slide 12 text

© ZOZO Technologies, Inc. 12 
 1 ZOZOTOWNの負荷対策
  →リプレイスの進捗にかかわらずセールはやってくる
 
 2 運用業務
  →特にセキュリティ関連の業務が重荷になっていた
 
 3 監視の仕組み
 →リプレイスが進み、変化していくインフラに追随できていない
 
 現行基盤の運用に追われて、インフラの改善が進まない恐れがあった
 
 弊チームが持っていた3つの課題


Slide 13

Slide 13 text

© ZOZO Technologies, Inc. 
 ということで本日のテーマは
 
 オンプレミスを中心に運用してきたチームが
 現状の課題を解決しながら
 リプレイスに向けてインフラの最適化を
 進めた取り組みについて
 
 
 です
 
 13

Slide 14

Slide 14 text

© ZOZO Technologies, Inc. ZOZOTOWNの負荷対策 14 14

Slide 15

Slide 15 text

© ZOZO Technologies, Inc. 15 (従来のセール対策の流れ)
 1. 稼働中のリソースからどの程度許容できるか検討
 2. ピーク時のアクセス予測を算出し、必要となるハードウェア数を確定
 3. ハードウェアの発注&構築作業をSIベンダーに依頼
 
 (問題点)
 ● 年間のピークに合わせた増設なので大半の期間では過剰な投入に
 ● SIを依頼するので発注から本番投入までリードタイム約3ヶ月
 
 
 
 オンプレミス→クラウド、CAPEX→OPEXへの流れと逆行・・・
 
 ZOZOTOWNの負荷対策を再考する


Slide 16

Slide 16 text

© ZOZO Technologies, Inc. 16 
 
 
 効率よくスケールアウトしたいなら
 クラウドを使えばいいじゃない


Slide 17

Slide 17 text

© ZOZO Technologies, Inc. 17 できなかった
 ZOZOTOWNのセッション情報は
 WEBサーバ内に保存
 
 ユーザーを常に同一のサーバに送る必要があるため
 LBで付与しているCookieを使った
 コントロールが必要だった
 
 
 
 
 課題
 ● やはりスケールアウトしづらい
 ● LBの運用が都度都度発生してしまう


Slide 18

Slide 18 text

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


Slide 19

Slide 19 text

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


Slide 20

Slide 20 text

© ZOZO Technologies, Inc. 運用業務の改善 20 20

Slide 21

Slide 21 text

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


Slide 22

Slide 22 text

© ZOZO Technologies, Inc. 22 DNSをまず最初になんとかする
 
 ● BINDの脆弱性対応からの解放
 
 
 ● いかに堅牢なサービスに仕上げたとしても
 DNSがダウンする可能性もある
 オンプレミスのDNSサーバのみでは
 可用性の問題があった
 
 
 
 
 セキュリティ対策と可用性向上のため
 Hidden-Primary構成に


Slide 23

Slide 23 text

© ZOZO Technologies, Inc. 23 長年の課題だったCDN WAFもCloud型へ 
 ● 長年の導入できていなかったサイトのCDN化を実現
 
 ● 今までオンプレミスで処理してきたWAFを
 Akamaiにオフロードしつつ機能面も格段に向上
 
 ● DDoS対策としても期待
 
 ● WEBサーバで保持される静的ファイルもCDNで
 サイトパフォーマンス向上に寄与
 
 
 
 zozo.jpはZone Apexのため
 CNAMEが使用できないが
 Zone Apex Mappingを利用して解決


Slide 24

Slide 24 text

© 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


Slide 25

Slide 25 text

© ZOZO Technologies, Inc. 25 DBCacheをElastiCacheへリプレイス
 ● DBCacheを
 ElastiCacheへ移行
 
 ● CacheRedisリリース後
 大きな問題がなければ
 Session情報の移行を次のPhaseで
 
 2020年9月にリリース完了し
 現在まで大きな問題もなく安定稼働中


Slide 26

Slide 26 text

© ZOZO Technologies, Inc. 
 千葉 幕張(当時)というロケーションもあってか
 他IT企業との繋がりが薄かったことは事実
 
 2019年はかなり広範囲の企業に攻撃が流行った年でもあった
 様々な企業との繋がりを構築しておきたかったため
 CSIRTの立ち上げ、およびNCAへの加盟を行う
 
 26 CSIRTの立ち上げおよびNCAに加盟
 セキュリティ意識向上にもつながり
 現在においてもセキュリティを支える組織となっている


Slide 27

Slide 27 text

© ZOZO Technologies, Inc. 27 
 Windows Serverで構成されているZOZOTOWNにおいて
 今まではGUIでの設定変更作業が中心で運用の自動化は特に高いハードルだった
 
 サーバ構築のリードタイムを短縮できてもサービスへ投入する事前作業で
 大量に時間を要していては運用負荷の軽減とはならないため
 AWXを用いて運用の自動化を推進
 AWXを用いたZOZOTOWNオンプレミス環境における自動化の取り組み - ZOZO Technologies TECH BLOG
 
 
 
 
 自動化推進
 結果、作業に要する時間を5分の1まで短縮することが可能に!


Slide 28

Slide 28 text

© ZOZO Technologies, Inc. 監視 28 28

Slide 29

Slide 29 text

© ZOZO Technologies, Inc. 29 監視の適正化を進める


Slide 30

Slide 30 text

© ZOZO Technologies, Inc. 30 
 ● NW機器、WEB、DBでそれぞれ得意分野とする監視システムが存在することから
  どこでどんな問題が起きているかを把握するために確認に時間を要する
 
 ● 監視サーバはオンプレミスの内部に存在しており
  都度アクセス権の問題があり、組織全体に展開できない仕様となっている
  
 ● マイクロサービス化が進むと、管掌範囲がチームごとに別れるため
 従来の監視のままでは全体像を把握できなくなる
 
 
 
 監視についての課題とは?


Slide 31

Slide 31 text

© ZOZO Technologies, Inc. 31 メトリクス監視+ログ分析
 ● 全ログをSplunkに取り込むことで
 今どこで遅延が発生しているかを特定が可能に
 
 ● オンプレミスはもちろん
 AWSやCDNとの連携も可能に
 
 ● Splunk Cloudの採用で
 監視システムの運用も不要になった
 
 
 導入してから約2年ほどが経過
 今ではZOZOTOWN全体で
 利用が広がっている
 
 使い勝手の良いSplunkダッシュボードの作り方 - ZOZO Technologies TECH BLOG


Slide 32

Slide 32 text

© ZOZO Technologies, Inc. NextStep 32 32

Slide 33

Slide 33 text

© ZOZO Technologies, Inc. 33 約2年かけてチーム管理のインフラはこう変化した
 2021年
 2019年


Slide 34

Slide 34 text

© ZOZO Technologies, Inc. 34 Session機能をElastiCacheへ移行
 ● 今までWEBサーバに保持していた
 Session情報をElastiCacheへ格納
 
 ● これにより、CookiePersistenceを
 外すことが可能になる
 
 
 
 ロードバランサーの制約が外れることで
 AWS上でのWEBサーバのスケールアウトが実現できるように


Slide 35

Slide 35 text

© ZOZO Technologies, Inc. 35 当然マイクロサービス化も進んでいる
 API-GATEWAYの完成後
 様々なマイクロサービスが
 リリースされており
 オンプレミスとの繋ぎ込みも
 かなり複雑になってきている
 


Slide 36

Slide 36 text

© ZOZO Technologies, Inc. 36 アプリ用APIサーバの経路が変わった
 API-GATEWAYが
 リリースされたタイミング(2020)で
 新しいアプリのバージョン以降
 アプリ向けサーバのトラフィックが
 AWSを経由する構成に切り替わった
 旧アプリ
 新アプリ


Slide 37

Slide 37 text

© ZOZO Technologies, Inc. 37 改善点を踏まえたEC2へのスケールアウト
 トラフィックを受ける
 WEBサーバは
 オンプレミスのみでしか
 展開できない制約があった
 
 EC2で展開できる状態になれば
 今後はまずAPIサーバが
 オンプレミスからAWSへ
 完全移行できる想定に
 


Slide 38

Slide 38 text

© ZOZO Technologies, Inc. 38 今後実現させていく必要がある重要課題
 
 ● サーバリソースのオートスケール
 
 
 ● Blue/Green Deploy
 
 
 
 将来的にもさらなる運用改善を図るため
 この2点を早くクリアできるように設計中
 


Slide 39

Slide 39 text

© ZOZO Technologies, Inc. 最適化を進めるために 意識してきたこと 39 39

Slide 40

Slide 40 text

© ZOZO Technologies, Inc. 40 リプレイスを開始する前に
 
 ● クラウドは別チームが運用するから関係なさそう
 
 ● なぜリプレイスをするのかわからない
 
 ● リプレイスのロードマップが見えない
 
 ● 自分たちの業務が否定されているように感じる
 
 
 
 立場が異なれば思想も異なる
 
 個人の意見を疎かにせず時間をかけて向き合うこと


Slide 41

Slide 41 text

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


Slide 42

Slide 42 text

© ZOZO Technologies, Inc. 42 結果はあとからついてくる
 
 ● 小さなことから成功体験を積み重ねることで自信につながる
 
 ● 成功により、考え方や意識が変わってくる
 
 ● 新しい人材、技術、体制を受け入れる余裕が整う
 
 ● ソウゾウのナナメウエを実践するサイクルが出来上がってくる
 
 
 
 チームとして成熟し
 初めて組織がスケールしていく


Slide 43

Slide 43 text

改めて目的を再確認。なぜリプレイスするのか
 ZOZOTOWNの成長のため スピード をあげる コスト をさげる 人材 をふやす これらを達成できる組織にする 43

Slide 44

Slide 44 text

44