Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
images-object-zozo
Search
sho
November 05, 2018
Technology
1
6.4k
images-object-zozo
sho
November 05, 2018
Tweet
Share
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
540
JAWS DAYS 2025 アーキテクチャ道場 事前説明会 / JAWS DAYS 2025 briefing document
naospon
0
2.5k
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
180
Introduction to OpenSearch Project - Search Engineering Tech Talk 2025 Winter
tkykenmt
2
140
設計を積み重ねてシステムを刷新する
sansantech
PRO
0
180
AWS Well-Architected Frameworkで学ぶAmazon ECSのセキュリティ対策
umekou
2
150
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
83k
Share my, our lessons from the road to re:Invent
naospon
0
150
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
850
What's new in Go 1.24?
ciarana
1
110
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
280
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
350
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.8k
Gamification - CAS2011
davidbonilla
80
5.2k
Speed Design
sergeychernyshev
27
810
Rails Girls Zürich Keynote
gr2m
94
13k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
650
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Faster Mobile Websites
deanohume
306
31k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Embracing the Ebb and Flow
colly
84
4.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Transcript
Copyright © ZOZO Technologies, Inc. All Right Reserved. 株式会社ZOZOテクノロジーズ 開発部
柴田翔 ZOZOTOWN の膨大な画像ファイルを 移行したときの過程の話 (オンプレミスからクラウドへ)
自己紹介 ・スタートトゥデイ(現(株)ZOZO)に 2010 年に新卒入社 ・入社当初は社内・倉庫インフラ ・現在は(株)ZOZOテクノロジーズ所属。 ZOZOTOWN、WEARのインフラ構築・運用 ・オンプレミス一本(クラウド歴数ヶ月) ZOZOテクノロジーズ 開発部
柴田 翔 Copyright © ZOZO Technologies, Inc. All Right Reserved.
◦ 日本最大級のファッションショッピングサイト/アプリ ◦ 1,100以上のショップ、6,800以上のブランドの取り扱い ◦ 常時65万点以上の商品アイテム数と毎日平均3,100点以上の新着商 品を掲載 ◦ 即日配送サービス /
ギフトラッピングサービス / ツケ払い など http://zozo.jp/ Copyright © ZOZO Technologies, Inc. All Right Reserved.
◦ 日本最大級のファッションコーディネートアプリ ◦ 1,100万ダウンロード突破、コーディネート投稿総数は800万件 ◦ 全世界(App Store / Google playが利用可能な全ての国)でダウ
ンロードが可能 ◦ 10万人以上のフォロワーを持つユーザー(WEARISTA)も誕生 https://wear.jp/ Copyright © ZOZO Technologies, Inc. All Right Reserved.
◦ 当社が独自に開発した採寸用ボディースーツ ◦ 全体に施されたドットマーカーをスマートフォンカメラで360度撮 影することで、体型データを計測 ◦ 計測した体型データは、瞬時に3Dモデル化され、ZOZOTOWNア プリに保存。3Dモデルはあらゆる角度に動かすことができ、体型を 360度チェックすることが可能 http://zozo.jp/zozosuit/
Copyright © ZOZO Technologies, Inc. All Right Reserved.
◦「ZOZOSUIT」で計測した体型データをもとに、一人ひとりの体型 に合った「あなたサイズ」のアイテム ◦「究極のフィット感」を実現したベーシックアイテムを提供 ◦ グローバルサイト「ZOZO.com」で海外展開 ◦ アイテム : Tシャツ、デニムパンツ、シャツ、ビジネススーツ、 ネクタイ、ボーダーTシャツ、長袖クルーネックTシャツ
など http://zozo.jp/pb/ Copyright © ZOZO Technologies, Inc. All Right Reserved.
お話したいこと ZOZOTOWNは、数億ファイルの画像を、オンプレミスからクラウドへ移行 しました。 短期間で、画像移行から本番稼働まで進めた過程のお話と、その中で、 LambdaやS3を利用して、感じたことをお話します。 Copyright © ZOZO Technologies, Inc.
All Right Reserved.
ZOZOTOWNの画像の種類 Copyright © ZOZO Technologies, Inc. All Right Reserved. リサイズ画像
オリジナル画像 リサイズ画像 リサイズ画像
目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・Lambda使用の大きなポイント①~② ・移行後のシステム構成 ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ
Copyright © ZOZO Technologies, Inc. All Right Reserved.
目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・Lambda使用の大きなポイント①~② ・移行後のシステム構成 ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ
Copyright © ZOZO Technologies, Inc. All Right Reserved.
移行前のシステム構成(移行前:オンプレ) Copyright © ZOZO Technologies, Inc. All Right Reserved. SPOOL
リサイズ SPOOL SPOOL オリジナル リサイズ リサイズ 画像変換 画像PUT 画像変換 画像変換 SPOOL SPOOL
移行前のZOZOTOWNからの参照方法 (移行前:オンプレ) Copyright © ZOZO Technologies, Inc. All Right Reserved.
リサイズ SPOOL SPOOL オリジナル リサイズ リサイズ 画像キャッシュ
目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・移行後のシステム構成 ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ
Copyright © ZOZO Technologies, Inc. All Right Reserved.
オンプレミスからクラウドへの移行背景 ①容量不足(早急な移行が必要) ②監視したくない ③スケーラビリティが必要 Copyright © ZOZO Technologies, Inc. All
Right Reserved.
①容量不足(早急な移行が必要) ・ZOZOTOWNの新ショップ追加 ⇒商品画像が増える Copyright © ZOZO Technologies, Inc. All Right
Reserved. 0 200 400 600 800 1000 1200 2015 2016 2017 2018 ショップ数 ※2018年度6月現在
①容量不足(早急な移行が必要) ・ZOZOUSEDのサービス好調 ⇒買い取り→販売=同じ商品がない(1点もの) ・数億画像 約60TB(オリジナル画像+ リサイズ画像) ⇒ZOZOTOWNがオープンしてからほぼ全商品の画像を残している Copyright © ZOZO
Technologies, Inc. All Right Reserved.
②監視したくない ・逼迫の恐怖 ⇒ディスク逼迫 ・画像アップロードの量が多い ⇒オンプレミス画像サーバが耐えられない ・オンプレミスの保守 ⇒保守期限 ・夜間アラート ⇒夜間帯のアラートの60%が画像サーバ関連 Copyright
© ZOZO Technologies, Inc. All Right Reserved.
③スケーラビリティが必要 ・サービス拡大による、画像アップロード数の増加 ⇒対応できるインフラの準備 ・なぜS3なのか ⇒高い耐久性・容量制限がない ⇒公開ナレッジが多い ⇒AWS SAの手厚い技術的サポート Copyright ©
ZOZO Technologies, Inc. All Right Reserved.
目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・移行後のシステム構成 ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ
Copyright © ZOZO Technologies, Inc. All Right Reserved.
移行する上で重要視したポイント ・運用コスト削減のため、なるべくマネージド ・画像データの容量を気にしなくていい ・短期間での移行のため、開発対象を少なくし、 テスト工数も削減したい
目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・移行後のシステム構成 ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ
Copyright © ZOZO Technologies, Inc. All Right Reserved.
画像移行パターン① Snowballでの移行 Copyright © ZOZO Technologies, Inc. All Right Reserved.
SnowBallとは ・アプライアンスの特徴 ⇒ 50TB(US Only)/80TBのデータ容量 ・アプライアンスのセキュリティ ⇒ データは専用ツールで暗号化される ・利用のポイント ⇒
データの移行先はS3 ⇒ オフライン転送(転送中の差分は別途移行が必要) ⇒ ネットワーク移行とSnowball移行の比較(同期処理の作成) Copyright © ZOZO Technologies, Inc. All Right Reserved.
パターン①:Snowball ・転送速度を計算 ⇒ 約60TB(オリジナル画像+リサイズ画像) ⇒ 平均オブジェクトサイズ128KB ⇒ 転送速度10MB/s 60TB *
1024 * 1024(MB換算) / 10MB / 86400秒(一日) 72.8 days Copyright © ZOZO Technologies, Inc. All Right Reserved.
パターン① :Snowball⇒結果 ・時間が掛かりすぎる ⇒暗号化に時間がかかる ⇒Snowballの手配 ⇒出す入れるで2倍 ⇒移行用クライアントが必要 ⇒オフライン同期の為、差分同期が面倒 移行時間の短縮はできないか・・・ Copyright
© ZOZO Technologies, Inc. All Right Reserved.
画像移行パターン② S3へ直接PUTすることで移行 (全画像) Copyright © ZOZO Technologies, Inc. All Right
Reserved.
パターン②:直接S3へ全画像をPUT ・転送速度を計算 ⇒ 約60TB(オリジナル画像+リサイズ画像) ⇒ 平均オブジェクトサイズ128KB ⇒ 転送速度42MB/s(バッチ3並列の実測値) 60TB *
1024 * 1024(MB換算) / 42MB / 86400秒(一日) ≒ 17.3 days Copyright © ZOZO Technologies, Inc. All Right Reserved. ¼
パターン②:直接S3へ全画像をPUT⇒結果 Copyright © ZOZO Technologies, Inc. All Right Reserved. ・転送速度の向上
⇒転送速度4倍 ⇒入れるだけ ・準備時間短縮 ⇒Snowballの手配が不要に ⇒移行用クライアントの準備が簡単 サーバ+専用ツール<S3直PUTコマンド ・更に転送速度の改善へ・・・
画像移行パターン③ オリジン画像のみS3直接PUTでの移行 リサイズはLambda Copyright © ZOZO Technologies, Inc. All Right
Reserved.
パターン3:直接S3へオリジナル画像のみPUT ・転送速度を計算 ⇒ 約30TB(オリジナル画像) ⇒ 平均オブジェクトサイズ128KB ⇒ 転送速度42MB/s(バッチ3並列の実測値) ・ポイント ⇒
オリジナル画像のみをS3へ ⇒ Lambdaで非同期でリサイズ処理 30TB * 1024 * 1024(MB換算) / 42MB/ 86400秒(1日) ≒ 8.6 days Copyright © ZOZO Technologies, Inc. All Right Reserved. 更に 1/2
採用 直接S3へオリジナル画像のみPUT ・転送速度の向上 ⇒Snowballの8倍 全画像PUTの2倍 ・リサイズ用オンプレミスサーバ不要 ⇒Lambdaでのリサイズ処理 ・Lambdaの実績 ⇒Lambdaの性能評価ができた Copyright
© ZOZO Technologies, Inc. All Right Reserved. 夜間 アラートほぼ0!
目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・移行後のシステム構成 ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ
Copyright © ZOZO Technologies, Inc. All Right Reserved.
移行後のシステム構成(移行後:クラウド) ・ Lambdaで非同期でリサイズ画像を作成 ⇒オリジナル画像をリサイズ Copyright © ZOZO Technologies, Inc. All
Right Reserved. 一次受け bucket Lambda オリジナル画像 リサイズ画像 画像PUT
移行後のZOZOTOWNからの参照方法 (移行後:クラウド) Copyright © ZOZO Technologies, Inc. All Right Reserved.
画像キャッシュ オリジナル画像 リサイズ画像
目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・移行後のシステム構成 ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ
Copyright © ZOZO Technologies, Inc. All Right Reserved.
大きなポイント① ・Lambda実装でのポイント ・Lambdaの修正の楽さ ⇒既存リサイズ処理→属人化の排除 ・公開ナレッジ量の多さ ・画像変換用サーバが不要 Copyright © ZOZO Technologies,
Inc. All Right Reserved.
大きなポイント② ・移行後も同じLambdaを使用 ・Lambdaの実績 ・スケーラビリティーが確認できた ⇒結果としてものすごい量のlambda発火量 Copyright © ZOZO Technologies, Inc.
All Right Reserved.
目次 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・移行前と移行後のシステム構成 ・検討した移行パターン①~③ ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright
© ZOZO Technologies, Inc. All Right Reserved.
問題 S3のバケット作成(S3の各種制限) ・S3GET制限とPrefix S3原則バケット毎 800GET/secの制限 現サーバへのリクエスト数(オリジナル画像+リサイズ画像) 795GET/sec AWS SAへ相談・・・ Copyright
© ZOZO Technologies, Inc. All Right Reserved.
解決 S3のバケット作成(S3の各種制限) ・バケット構成を分ける オリジナル画像バケット255GET/sec リサイズ画像バケット540GET/sec ⇒結果△ 朗報・・S3GET/PUTのパフォーマンス向上 5,500 GET/sec, 3,500
PUT/POST/DELETE/sec ⇒結果◎ 制限ぎりぎりだったGET制限もクリア Copyright © ZOZO Technologies, Inc. All Right Reserved.
目次 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・移行前と移行後のシステム構成 ・検討した移行パターン①~③ ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright
© ZOZO Technologies, Inc. All Right Reserved.
教訓 ・実際に触ってみる オンプレミスからクラウドへの意識付け ・フロントエンジニアとバックエンドエンジニア との密なコミュニケーション 移行後のプログラム修正 ・AWS SAとの連携 SAの親身な問題解決への意識の高さとレスの速さ Copyright
© ZOZO Technologies, Inc. All Right Reserved.
目次 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・移行前と移行後のシステム構成 ・検討した移行パターン①~③ ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright
© ZOZO Technologies, Inc. All Right Reserved.
まとめ ・Lambda採用のメリット ⇒Lambdaでリサイズ処理することにより画像変換、 管理のための物理サーバが不要 ⇒冗長化不要 ⇒コードの管理のみ ・S3採用(オリジナル画像)のメリット ⇒容量を気にしない、耐障害性の向上 ⇒データセンター作業の廃止 ⇒保守・セキュリティパッチ・バックアップサーバの廃止
Copyright © ZOZO Technologies, Inc. All Right Reserved.
その他 ・Serverlessのメリットを実感 ⇒サービスに関わらずServerless化の検討 Copyright © ZOZO Technologies, Inc. All Right
Reserved.
エンジニア募集・・・ 一緒に 70億人のファッションを 技術の力で変えていきましょう! https://tech.zozo.com/recruit/zozo-revolution/ Copyright © ZOZO Technologies, Inc.
All Right Reserved.
ご静聴ありがとうございました Copyright © ZOZO Technologies, Inc. All Right Reserved.