$30 off During Our Annual Pro Sale. View Details »

images-object-zozo

sho
November 05, 2018

 images-object-zozo

sho

November 05, 2018
Tweet

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide