SnapDish 画像配信について

2,484 views

Published on

SnapDish の画像配信の仕組みについての資料です。

Published in: Technology
  • Be the first to comment

SnapDish 画像配信について

  1. 1. SnapDish 画像配信について 2013/1/23 料理が楽しくなる写真共有サービス 『SnapDish 料理カメラ』 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  2. 2. 本日のMENU 前菜: SnapDish って? メイン:現状と構成 (2013/01現在) デザート:使ってみて ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  3. 3. SnapDish って? ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  4. 4. こんな感じ ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  5. 5. 冗談です。orz SnapDish UP されている、 自分が一番気に入っている 幻の写真、「そーせーじん」です。 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  6. 6. サービス概要 料理が、食が、もっと楽しくなる! ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  7. 7. 2012/12 現在 開始から1年半 料理写真だけで約200万 もぐもぐ❤が約1200万 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  8. 8. チーム 8人(みんな30歳以上、半数は40歳以上???) z 代表 総料理長 明太子LOVE❤ きよた(自分)iOS, WEB, インフラ全般 珈琲LOVE❤  ままぞう 財務、人事、総務、酒LOVE❤ ファンキー 海外事業担当、パスタLOVE❤   なるじぃ Androidスペシャリスト、ぱんLOVE❤ あべちゃん 国内事業開発担当、お米LOVE❤     ひよっし Webスペシャリスト、まぐろLOVE❤ くらげや グラフィクデザイン、日本酒LOVE❤ ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  9. 9. 日常 毎日ランチを料理 みんなで 美味しく食べる 昼・夜一生懸命働く SnapDish ユーザーと 同じ体験することで、 ユーザー目線を鍛える! 開発・運営をしています! ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  10. 10. 本題 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  11. 11. 現状と構成 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  12. 12. まず、現状から ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  13. 13. こんな感じ ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  14. 14. 現状 2012/12月の数字 ・AWS CloudFront (CDN) リクエスト数: 約9,400万 転送量: 2.5TB ・AWS ELB (CloudFront Origin) リクエス数: 約3,000万 ※S3は未計測 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  15. 15. 構成 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  16. 16. こんな感じ http://snapdi.sh/dish/50f4a8e2a060bd3c814fb634 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  17. 17. こんな感じ http://snapdi.sh/dish/50d870d3a060bd7c10ecb694 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  18. 18. 嘘です。orz ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  19. 19. 構成 Internet 1. Image Server - instance m1.small x 4 - 6 - nginx 1.2.4 Amazon - nginx proxy cache on ramdisk CloudFront Amazon Simple - nginx image filter to resize image Storage Service (S3) - nginx gridfs replicaset connect 2. DB Server Elastic Load - instance m2.4xlarge x 2 Balancer - PIOPS1000/Raid10 origin.snapdi.sh - MongoDB 2.2.1 3. MongoDB Arb Sever Image Server - instance m1.large x 1 on Instances (Running on Development Server) 4. AWS S3 Service MongoDB SEC MongoDB PRI MongoDB Arb on Instance on Instance on Instance Rreplica Sets ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  20. 20.   ・S3とGridFSのハイブリッド運用・GridFSはCloudFrontの配下のサーバーに設置 AWS CloudFront ↓↑ AWS ELB ↓↑ AWS EC2 Image Server on EC2 m1.small(4-6台) ↓↑ MongDB GridFS ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  21. 21.   ・Image Server の中身 Nginx Sample Config  https://gist.github.com/4591707 1. キャッシュ層 ramdiskにキャッシュ 2. 加工層  ngixn-image-filter を使って処理 3. 取得層  GridFSに繋いでデータを取得する ※多段にする理由は、Nginx-GridFSのIDの取得する際、  location の指定に正規表現が書けないから ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  22. 22. 使ってみて ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  23. 23. こんな感じ http://snapdi.sh/dish/50f736fda060bd3e9e762e08 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  24. 24. 悩ましい事が多いかも ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  25. 25. GridFSじゃなくて、S3使えばよいんじゃないの? と思う事がよくあります。でも、なぜ使っているのか、 1. 使ってみて、今まで大きな問題が起こっていない 2.当初、全て一人でやっていて、なるべく工数を押さえたかったので、サー  バーサイドの設定で全てできてしまうnginx-gridfsを使うことに 3. デザインも含め進化途中のアプリなので、画像のサイズがよく変わる事が   あり、設定でさくっと対応したかった 4. Androidは画像サイズを小さくして配信するなど、個別の対応が必要なの  で、サーバーサイドの設定で対応ができるのはメリット 5. S3は、移行したい時に移行すればよい ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  26. 26. ちなみに、実際、配信している画像 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  27. 27. 実際配信している画像 ・料理写真画像 ー> GridFS  1. 更新は不可/削除可能  2. サイズは、表示箇所によって様々  3. リサイズ・クロップ処理行う ・ユーザー画像 ー> GridFS(S3へ移行検討中)  1. 更新は可能/削除可能  2. サイズ、表示箇所によって様々  3. リサイズ・クロップ処理行う ・ユーザープロフィールカバー画像 ー> S3  1. 更新は可能/削除は不可  2. サイズ、プロフィールに対して3個  3. リサイズ・クロップ処理は一部行う ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  28. 28. メリット: 1. サーバーサイドで細かい調整ができて便利 2. 画像の管理自体はとても楽 3. 画像のメタ情報の管理も一括して行える 4. 画像のサイズや大きさが定まらない場合 5. 後で他のサービスに移行するのは容易 デメリット: 1. サーバーの運用が入る 2. 割高、S3の方がコストが抑えられる (多分、ある時点から大分S3が安くなる) 3. 移行時に、やはり、工数が結構発生する S3にした方が良い場合、、、 1. WEBからの大量アクセスがくる場合、S3の方がコストが 更に押さえられ、画 像サイズの種類もそんなに必要がないので、実際楽なはず 2. 更なる高可用性が必要な場合 3. CDNを使わない場合で、画像の更新がある場合 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  29. 29. まだ、 以外と動いているので、 もうしばらく使って、 S3とのハイブリッド運用へ移行して、 もしかしたら、 全てS3へ移行することになるのかもしれないと 心の片隅で思う事がある日々を しばらく送る事になりそう ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  30. 30. お口に合いましたでしょうか? ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13
  31. 31. http://snapdi.sh/dish/50de504b7e57054057fa8905 ヴァズ株式会社 | 本資料の無断での開示・複製・転送はご遠慮ください。Wednesday, January 23, 13

×