Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SnapDish 画像配信について

2,722 views

Published on

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

Published in: Technology
  • Login to see the comments

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

×