Copyright © ZOZO Technologies, Inc. All Right Reserved.株式会社ZOZOテクノロジーズ開発部柴田翔ZOZOTOWN の膨大な画像ファイルを移行したときの過程の話(オンプレミスからクラウドへ)
View Slide
自己紹介・スタートトゥデイ(現(株)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.
移行前のシステム構成(移行前:オンプレ)Copyright © ZOZO Technologies, Inc. All Right Reserved.SPOOLリサイズSPOOLSPOOLオリジナルリサイズリサイズ画像変換画像PUT画像変換画像変換SPOOLSPOOL
移行前のZOZOTOWNからの参照方法(移行前:オンプレ)Copyright © ZOZO Technologies, Inc. All Right Reserved.リサイズSPOOLSPOOLオリジナルリサイズリサイズ画像キャッシュ
目次・移行前のシステム構成・オンプレミスからクラウドへの移行背景・移行する上で重要視したポイント・検討した移行パターン①~③・移行後のシステム構成・Lambda使用の大きなポイント①~②・移行過程で発生した課題と解決方法・教訓・まとめCopyright © ZOZO Technologies, Inc. All Right Reserved.
オンプレミスからクラウドへの移行背景①容量不足(早急な移行が必要)②監視したくない③スケーラビリティが必要Copyright © ZOZO Technologies, Inc. All Right Reserved.
①容量不足(早急な移行が必要)・ZOZOTOWNの新ショップ追加⇒商品画像が増えるCopyright © ZOZO Technologies, Inc. All Right Reserved.0200400600800100012002015 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.
移行する上で重要視したポイント・運用コスト削減のため、なるべくマネージド・画像データの容量を気にしなくていい・短期間での移行のため、開発対象を少なくし、テスト工数も削減したい
画像移行パターン①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/s60TB * 1024 * 1024(MB換算) / 10MB / 86400秒(一日) 72.8 daysCopyright © 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 daysCopyright © ZOZO Technologies, Inc. All Right Reserved.¼
パターン②:直接S3へ全画像をPUT⇒結果Copyright © ZOZO Technologies, Inc. All Right Reserved.・転送速度の向上⇒転送速度4倍⇒入れるだけ・準備時間短縮⇒Snowballの手配が不要に⇒移行用クライアントの準備が簡単サーバ+専用ツール<S3直PUTコマンド・更に転送速度の改善へ・・・
画像移行パターン③オリジン画像のみS3直接PUTでの移行リサイズはLambdaCopyright © 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 daysCopyright © 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.一次受けbucketLambdaオリジナル画像リサイズ画像画像PUT
移行後のZOZOTOWNからの参照方法(移行後:クラウド)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制限とPrefixS3原則バケット毎800GET/secの制限現サーバへのリクエスト数(オリジナル画像+リサイズ画像)795GET/secAWS 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.
教訓・実際に触ってみるオンプレミスからクラウドへの意識付け・フロントエンジニアとバックエンドエンジニアとの密なコミュニケーション移行後のプログラム修正・AWS SAとの連携SAの親身な問題解決への意識の高さとレスの速さ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.