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

images-object-zozo

2319b567efe8df1f6f2e8a7a40e4f83e?s=47 sho
November 05, 2018

 images-object-zozo

2319b567efe8df1f6f2e8a7a40e4f83e?s=128

sho

November 05, 2018
Tweet

Transcript

  1. Copyright © ZOZO Technologies, Inc. All Right Reserved. 株式会社ZOZOテクノロジーズ 開発部

    柴田翔 ZOZOTOWN の膨大な画像ファイルを 移行したときの過程の話 (オンプレミスからクラウドへ)
  2. 自己紹介 ・スタートトゥデイ(現(株)ZOZO)に 2010 年に新卒入社 ・入社当初は社内・倉庫インフラ ・現在は(株)ZOZOテクノロジーズ所属。 ZOZOTOWN、WEARのインフラ構築・運用 ・オンプレミス一本(クラウド歴数ヶ月) ZOZOテクノロジーズ 開発部

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

    ギフトラッピングサービス / ツケ払い など http://zozo.jp/ Copyright © ZOZO Technologies, Inc. All Right Reserved.
  4. ◦ 日本最大級のファッションコーディネートアプリ ◦ 1,100万ダウンロード突破、コーディネート投稿総数は800万件 ◦ 全世界(App Store / Google playが利用可能な全ての国)でダウ

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

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

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

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

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

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

    Copyright © ZOZO Technologies, Inc. All Right Reserved.
  11. 移行前のシステム構成(移行前:オンプレ) Copyright © ZOZO Technologies, Inc. All Right Reserved. SPOOL

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

    リサイズ SPOOL SPOOL オリジナル リサイズ リサイズ 画像キャッシュ
  13. 目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・移行後のシステム構成 ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ

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

    Right Reserved.
  15. ①容量不足(早急な移行が必要) ・ZOZOTOWNの新ショップ追加 ⇒商品画像が増える Copyright © ZOZO Technologies, Inc. All Right

    Reserved. 0 200 400 600 800 1000 1200 2015 2016 2017 2018 ショップ数 ※2018年度6月現在
  16. ①容量不足(早急な移行が必要) ・ZOZOUSEDのサービス好調 ⇒買い取り→販売=同じ商品がない(1点もの) ・数億画像 約60TB(オリジナル画像+ リサイズ画像) ⇒ZOZOTOWNがオープンしてからほぼ全商品の画像を残している Copyright © ZOZO

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

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

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

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

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

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

  23. SnowBallとは ・アプライアンスの特徴 ⇒ 50TB(US Only)/80TBのデータ容量 ・アプライアンスのセキュリティ ⇒ データは専用ツールで暗号化される ・利用のポイント ⇒

    データの移行先はS3 ⇒ オフライン転送(転送中の差分は別途移行が必要) ⇒ ネットワーク移行とSnowball移行の比較(同期処理の作成) Copyright © ZOZO Technologies, Inc. All Right Reserved.
  24. パターン①:Snowball ・転送速度を計算 ⇒ 約60TB(オリジナル画像+リサイズ画像) ⇒ 平均オブジェクトサイズ128KB ⇒ 転送速度10MB/s 60TB *

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

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

    Reserved.
  27. パターン②:直接S3へ全画像をPUT ・転送速度を計算 ⇒ 約60TB(オリジナル画像+リサイズ画像) ⇒ 平均オブジェクトサイズ128KB ⇒ 転送速度42MB/s(バッチ3並列の実測値) 60TB *

    1024 * 1024(MB換算) / 42MB / 86400秒(一日) ≒ 17.3 days Copyright © ZOZO Technologies, Inc. All Right Reserved. ¼
  28. パターン②:直接S3へ全画像をPUT⇒結果 Copyright © ZOZO Technologies, Inc. All Right Reserved. ・転送速度の向上

    ⇒転送速度4倍 ⇒入れるだけ ・準備時間短縮 ⇒Snowballの手配が不要に ⇒移行用クライアントの準備が簡単 サーバ+専用ツール<S3直PUTコマンド ・更に転送速度の改善へ・・・
  29. 画像移行パターン③ オリジン画像のみS3直接PUTでの移行 リサイズはLambda Copyright © ZOZO Technologies, Inc. All Right

    Reserved.
  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
  31. 採用 直接S3へオリジナル画像のみPUT ・転送速度の向上 ⇒Snowballの8倍 全画像PUTの2倍 ・リサイズ用オンプレミスサーバ不要 ⇒Lambdaでのリサイズ処理 ・Lambdaの実績 ⇒Lambdaの性能評価ができた Copyright

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

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

    Right Reserved. 一次受け bucket Lambda オリジナル画像 リサイズ画像 画像PUT
  34. 移行後のZOZOTOWNからの参照方法 (移行後:クラウド) Copyright © ZOZO Technologies, Inc. All Right Reserved.

    画像キャッシュ オリジナル画像 リサイズ画像
  35. 目次 ・移行前のシステム構成 ・オンプレミスからクラウドへの移行背景 ・移行する上で重要視したポイント ・検討した移行パターン①~③ ・移行後のシステム構成 ・Lambda使用の大きなポイント①~② ・移行過程で発生した課題と解決方法 ・教訓 ・まとめ

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

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

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

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

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

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

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

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

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

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

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