Slide 1

Slide 1 text

Copyright © ZOZO Technologies, Inc. All Right Reserved. 株式会社ZOZOテクノロジーズ 開発部 柴田翔 ZOZOTOWN の膨大な画像ファイルを 移行したときの過程の話 (オンプレミスからクラウドへ)

Slide 2

Slide 2 text

自己紹介 ・スタートトゥデイ(現(株)ZOZO)に 2010 年に新卒入社 ・入社当初は社内・倉庫インフラ ・現在は(株)ZOZOテクノロジーズ所属。 ZOZOTOWN、WEARのインフラ構築・運用 ・オンプレミス一本(クラウド歴数ヶ月) ZOZOテクノロジーズ 開発部 柴田 翔 Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 3

Slide 3 text

○ 日本最大級のファッションショッピングサイト/アプリ ○ 1,100以上のショップ、6,800以上のブランドの取り扱い ○ 常時65万点以上の商品アイテム数と毎日平均3,100点以上の新着商 品を掲載 ○ 即日配送サービス / ギフトラッピングサービス / ツケ払い など http://zozo.jp/ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 4

Slide 4 text

○ 日本最大級のファッションコーディネートアプリ ○ 1,100万ダウンロード突破、コーディネート投稿総数は800万件 ○ 全世界(App Store / Google playが利用可能な全ての国)でダウ ンロードが可能 ○ 10万人以上のフォロワーを持つユーザー(WEARISTA)も誕生 https://wear.jp/ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 5

Slide 5 text

○ 当社が独自に開発した採寸用ボディースーツ ○ 全体に施されたドットマーカーをスマートフォンカメラで360度撮 影することで、体型データを計測 ○ 計測した体型データは、瞬時に3Dモデル化され、ZOZOTOWNア プリに保存。3Dモデルはあらゆる角度に動かすことができ、体型を 360度チェックすることが可能 http://zozo.jp/zozosuit/ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 6

Slide 6 text

○「ZOZOSUIT」で計測した体型データをもとに、一人ひとりの体型 に合った「あなたサイズ」のアイテム ○「究極のフィット感」を実現したベーシックアイテムを提供 ○ グローバルサイト「ZOZO.com」で海外展開 ○ アイテム : Tシャツ、デニムパンツ、シャツ、ビジネススーツ、 ネクタイ、ボーダーTシャツ、長袖クルーネックTシャツ など http://zozo.jp/pb/ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 7

Slide 7 text

お話したいこと ZOZOTOWNは、数億ファイルの画像を、オンプレミスからクラウドへ移行 しました。 短期間で、画像移行から本番稼働まで進めた過程のお話と、その中で、 LambdaやS3を利用して、感じたことをお話します。 Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 8

Slide 8 text

ZOZOTOWNの画像の種類 Copyright © ZOZO Technologies, Inc. All Right Reserved. リサイズ画像 オリジナル画像 リサイズ画像 リサイズ画像

Slide 9

Slide 9 text

目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・Lambda使用の大きなポイント①~② ・移行後のシステム構成 ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 10

Slide 10 text

目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・Lambda使用の大きなポイント①~② ・移行後のシステム構成 ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 11

Slide 11 text

移行前のシステム構成(移行前:オンプレ) Copyright © ZOZO Technologies, Inc. All Right Reserved. SPOOL リサイズ SPOOL SPOOL オリジナル リサイズ リサイズ 画像変換 画像PUT 画像変換 画像変換 SPOOL SPOOL

Slide 12

Slide 12 text

移行前のZOZOTOWNからの参照方法 (移行前:オンプレ) Copyright © ZOZO Technologies, Inc. All Right Reserved. リサイズ SPOOL SPOOL オリジナル リサイズ リサイズ 画像キャッシュ

Slide 13

Slide 13 text

目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・移行後のシステム構成 ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 14

Slide 14 text

オンプレミスからクラウドへの移行背景 ①容量不足(早急な移行が必要) ②監視したくない ③スケーラビリティが必要 Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 15

Slide 15 text

①容量不足(早急な移行が必要) ・ZOZOTOWNの新ショップ追加 ⇒商品画像が増える Copyright © ZOZO Technologies, Inc. All Right Reserved. 0 200 400 600 800 1000 1200 2015 2016 2017 2018 ショップ数 ※2018年度6月現在

Slide 16

Slide 16 text

①容量不足(早急な移行が必要) ・ZOZOUSEDのサービス好調 ⇒買い取り→販売=同じ商品がない(1点もの) ・数億画像 約60TB(オリジナル画像+ リサイズ画像) ⇒ZOZOTOWNがオープンしてからほぼ全商品の画像を残している Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 17

Slide 17 text

②監視したくない ・逼迫の恐怖 ⇒ディスク逼迫 ・画像アップロードの量が多い ⇒オンプレミス画像サーバが耐えられない ・オンプレミスの保守 ⇒保守期限 ・夜間アラート ⇒夜間帯のアラートの60%が画像サーバ関連 Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 18

Slide 18 text

③スケーラビリティが必要 ・サービス拡大による、画像アップロード数の増加 ⇒対応できるインフラの準備 ・なぜS3なのか ⇒高い耐久性・容量制限がない ⇒公開ナレッジが多い ⇒AWS SAの手厚い技術的サポート Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 19

Slide 19 text

目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・移行後のシステム構成 ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 20

Slide 20 text

移行する上で重要視したポイント ・運用コスト削減のため、なるべくマネージド ・画像データの容量を気にしなくていい ・短期間での移行のため、開発対象を少なくし、 テスト工数も削減したい

Slide 21

Slide 21 text

目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・移行後のシステム構成 ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 22

Slide 22 text

画像移行パターン① Snowballでの移行 Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 23

Slide 23 text

SnowBallとは ・アプライアンスの特徴 ⇒ 50TB(US Only)/80TBのデータ容量 ・アプライアンスのセキュリティ ⇒ データは専用ツールで暗号化される ・利用のポイント ⇒ データの移行先はS3 ⇒ オフライン転送(転送中の差分は別途移行が必要) ⇒ ネットワーク移行とSnowball移行の比較(同期処理の作成) Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 24

Slide 24 text

パターン①:Snowball ・転送速度を計算 ⇒ 約60TB(オリジナル画像+リサイズ画像) ⇒ 平均オブジェクトサイズ128KB ⇒ 転送速度10MB/s 60TB * 1024 * 1024(MB換算) / 10MB / 86400秒(一日) 72.8 days Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 25

Slide 25 text

パターン① :Snowball⇒結果 ・時間が掛かりすぎる ⇒暗号化に時間がかかる ⇒Snowballの手配 ⇒出す入れるで2倍 ⇒移行用クライアントが必要 ⇒オフライン同期の為、差分同期が面倒 移行時間の短縮はできないか・・・ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 26

Slide 26 text

画像移行パターン② S3へ直接PUTすることで移行 (全画像) Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 27

Slide 27 text

パターン②:直接S3へ全画像をPUT ・転送速度を計算 ⇒ 約60TB(オリジナル画像+リサイズ画像) ⇒ 平均オブジェクトサイズ128KB ⇒ 転送速度42MB/s(バッチ3並列の実測値) 60TB * 1024 * 1024(MB換算) / 42MB / 86400秒(一日) ≒ 17.3 days Copyright © ZOZO Technologies, Inc. All Right Reserved. ¼

Slide 28

Slide 28 text

パターン②:直接S3へ全画像をPUT⇒結果 Copyright © ZOZO Technologies, Inc. All Right Reserved. ・転送速度の向上 ⇒転送速度4倍 ⇒入れるだけ ・準備時間短縮 ⇒Snowballの手配が不要に ⇒移行用クライアントの準備が簡単 サーバ+専用ツール<S3直PUTコマンド ・更に転送速度の改善へ・・・

Slide 29

Slide 29 text

画像移行パターン③ オリジン画像のみS3直接PUTでの移行 リサイズはLambda Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 30

Slide 30 text

パターン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

Slide 31

Slide 31 text

採用 直接S3へオリジナル画像のみPUT ・転送速度の向上 ⇒Snowballの8倍 全画像PUTの2倍 ・リサイズ用オンプレミスサーバ不要 ⇒Lambdaでのリサイズ処理 ・Lambdaの実績 ⇒Lambdaの性能評価ができた Copyright © ZOZO Technologies, Inc. All Right Reserved. 夜間 アラートほぼ0!

Slide 32

Slide 32 text

目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・移行後のシステム構成 ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 33

Slide 33 text

移行後のシステム構成(移行後:クラウド) ・ Lambdaで非同期でリサイズ画像を作成 ⇒オリジナル画像をリサイズ Copyright © ZOZO Technologies, Inc. All Right Reserved. 一次受け bucket Lambda オリジナル画像 リサイズ画像 画像PUT

Slide 34

Slide 34 text

移行後のZOZOTOWNからの参照方法 (移行後:クラウド) Copyright © ZOZO Technologies, Inc. All Right Reserved. 画像キャッシュ オリジナル画像 リサイズ画像

Slide 35

Slide 35 text

目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・移行後のシステム構成 ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 36

Slide 36 text

大きなポイント① ・Lambda実装でのポイント ・Lambdaの修正の楽さ ⇒既存リサイズ処理→属人化の排除 ・公開ナレッジ量の多さ ・画像変換用サーバが不要 Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 37

Slide 37 text

大きなポイント② ・移行後も同じLambdaを使用 ・Lambdaの実績 ・スケーラビリティーが確認できた ⇒結果としてものすごい量のlambda発火量 Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 38

Slide 38 text

目次 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・移行前と移行後のシステム構成 ・検討した移行パターン①~③ ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 39

Slide 39 text

問題 S3のバケット作成(S3の各種制限) ・S3GET制限とPrefix S3原則バケット毎 800GET/secの制限 現サーバへのリクエスト数(オリジナル画像+リサイズ画像) 795GET/sec AWS SAへ相談・・・ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 40

Slide 40 text

解決 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.

Slide 41

Slide 41 text

目次 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・移行前と移行後のシステム構成 ・検討した移行パターン①~③ ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 42

Slide 42 text

教訓 ・実際に触ってみる オンプレミスからクラウドへの意識付け ・フロントエンジニアとバックエンドエンジニア との密なコミュニケーション 移行後のプログラム修正 ・AWS SAとの連携 SAの親身な問題解決への意識の高さとレスの速さ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 43

Slide 43 text

目次 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・移行前と移行後のシステム構成 ・検討した移行パターン①~③ ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 44

Slide 44 text

まとめ ・Lambda採用のメリット ⇒Lambdaでリサイズ処理することにより画像変換、 管理のための物理サーバが不要 ⇒冗長化不要 ⇒コードの管理のみ ・S3採用(オリジナル画像)のメリット ⇒容量を気にしない、耐障害性の向上 ⇒データセンター作業の廃止 ⇒保守・セキュリティパッチ・バックアップサーバの廃止 Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 45

Slide 45 text

その他 ・Serverlessのメリットを実感 ⇒サービスに関わらずServerless化の検討 Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 46

Slide 46 text

エンジニア募集・・・ 一緒に 70億人のファッションを 技術の力で変えていきましょう! https://tech.zozo.com/recruit/zozo-revolution/ Copyright © ZOZO Technologies, Inc. All Right Reserved.

Slide 47

Slide 47 text

ご静聴ありがとうございました Copyright © ZOZO Technologies, Inc. All Right Reserved.