セカイカメラのクラウド流儀2011.04.06Tonchidot Corporation
Sekai Camera
Sekai Camera   enriches  the World
with Sekai Cam,we will engage the FUTURE!
Agenda •プロダクト紹介 •システム構成 •東京リージョン            5
自己紹介•近藤 純司 •頓智ドット株式会社 •CTO •@jy3n              6
プロダクト紹介          7
Sekai Camera               8
Sekai Camera eX                  9
Sekai Camera eX                  10
Sekai Camera eX                  11
OpenAir for Publishers                         12
Sekai Camera Web http://sekaicamera.com/                           13
Sekai Apps        ARによる独自の体験性を通じ、  人と人が繋がるソーシャル性を持ったアプリケーション。  Social              Location  人と出会い、人と繋がる          場所、移動のコン...
Sekai Apps             15
Sekai Apps             16
domo                Movies&TV               123 items                     5                    5                  4       ...
システム構成         18
How Sekai Camera works                         19
Sekai Camera Enabled Devices                               20
Sekai Camera for Smart Phone •   主要利用技術     •   カメラ     •   位置測位         •   GPS, WiFi, 基地局     •   方向測位         •   加速度セン...
Sekai Camera for iPhone •   主要利用技術     •   カメラ     •   位置測位         •   GPS, WiFi, 基地局     •   方向測位         •   加速度センサー, 電...
Sekai Camera for Android •   主要利用技術     •   カメラ     •   位置測位         •   GPS, WiFi, 基地局     •   方向測位         •   加速度センサー, ...
Sekai Camera ZOOM •   主要利用技術     •   カメラ     •   位置測位         •   GPS, 基地局     •   方向測位         •   6軸センサー             •  ...
domo • 主要利用技術  • 位置測位    • GPS, WiFi, 基地局  • 位置情報管理    • GeoHex[http://geohex.net]  • 外部サービス連携    • Facebook              ...
System Overview  Client               Server Side                            External Devices                             ...
自己紹介•内原 章 •頓智ドット株式会社 •エンジニア              27
AirTag Browsing/Posting  Client               Server Side                            External Devices                     ...
Sekai Apps  Client               Server Side                            External Devices                                  ...
Sekai Camera Web  Client               Server Side                            External Devices                            ...
domo               Client                                                Server Side                            External  ...
KPI Analysis  Client               Server Side                            External Devices                                ...
Amazon Web Services  Client          EC2      Server Side                            External Devices                     ...
Open Source  Client               Server Side                             External Devices                                ...
Protocols  Client               Server Side                                External Devices                               ...
Program Lang./Framework                          C++                    RoR                       Conn/Notice            T...
インスタンス数の推移 200                                                   セカイ                                                      ...
Load Balancing  Client                          Server Side Devices            EC2 iPhone            Conn/Notice          ...
Load Balancing (ideal)  Client             Server Side Devices                domo API                    PostgreSQL  iPho...
DB Sharding  Client                          Server Side Devices          EC2 iPhone                           pgpool-II +...
Redundancy  Client                          Server Side Devices            EC2 iPhone            Conn/Notice          DNS-...
AWSの利用シーン• EC2• ELB• EBS• S3• SimpleDB• Simple Queue Service• CloudWatch                         42
今後利用する可能性がある、 または利用したいサービス •   CloudFront     •   地域別の応答速度差改善 •   RDS         •   初期構築作業の軽減         •   replication/backup...
東京リージョン          44
比較検討  HTTP                                                 ab -c10 -n100    ab -c100 -n100    ab -c100 -n1000       Region...
目指したもの• 事実:セカイカメラは重い• 仮説:ネットワークレイテンシが一因?• 期待:東京リージョン移設で    サクサク動くようになるかも                       46
現実• セカイカメラ • 結果:ユーザ体験にはあまり好影響なし • 分析:アプリ自体が重かった...     •   カメラ + GPS + タグ3Dレンダリングが主な要因                                    ...
セカイアプリでは... • 通信プロトコルが異なるので、  よりレイテンシの影響を受けやすい?                      48
サーバー分散によるレイテンシ改善• ネットワーク的に近いサーバーと通信                           App         App                                             ...
サーバー分散によるレイテンシ改善• ネットワーク的に近いサーバーと通信   App-1   DB-1              replication   App-2   DB-2   App-1   DB-1           multi ...
自前で分散 Client                     Server SideDevices iPhone            App-1                              DB-1  Android cac...
Geo-LB/Geo-DNS  Client      AWS                  Server Side Devices              Locale iPhone               Info        ...
Thanks!          53
Upcoming SlideShare
Loading in …5
×

Tonchidot

636 views

Published on

Published in: Technology, Art & Photos
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
636
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Tonchidot

  1. 1. セカイカメラのクラウド流儀2011.04.06Tonchidot Corporation
  2. 2. Sekai Camera
  3. 3. Sekai Camera enriches the World
  4. 4. with Sekai Cam,we will engage the FUTURE!
  5. 5. Agenda •プロダクト紹介 •システム構成 •東京リージョン 5
  6. 6. 自己紹介•近藤 純司 •頓智ドット株式会社 •CTO •@jy3n 6
  7. 7. プロダクト紹介 7
  8. 8. Sekai Camera 8
  9. 9. Sekai Camera eX 9
  10. 10. Sekai Camera eX 10
  11. 11. Sekai Camera eX 11
  12. 12. OpenAir for Publishers 12
  13. 13. Sekai Camera Web http://sekaicamera.com/ 13
  14. 14. Sekai Apps ARによる独自の体験性を通じ、 人と人が繋がるソーシャル性を持ったアプリケーション。 Social Location 人と出会い、人と繋がる 場所、移動のコンテキストを活用 SoLAR AR 現実空間を重ねて楽しい体験 14
  15. 15. Sekai Apps 15
  16. 16. Sekai Apps 16
  17. 17. domo Movies&TV 123 items 5 5 4 Hes Just Not T The ugly truth La Jetée 2 1 1 2046 Chungking Ex... Terminator 2 1 1 1 Paris GATTACA The big blue 17
  18. 18. システム構成 18
  19. 19. How Sekai Camera works 19
  20. 20. Sekai Camera Enabled Devices 20
  21. 21. Sekai Camera for Smart Phone • 主要利用技術 • カメラ • 位置測位 • GPS, WiFi, 基地局 • 方向測位 • 加速度センサー, 電子コンパス • 通信 • msgpack-rpc [https://github.com/msgpack/msgpack-rpc] • 描画 • OpenGL 21
  22. 22. Sekai Camera for iPhone • 主要利用技術 • カメラ • 位置測位 • GPS, WiFi, 基地局 • 方向測位 • 加速度センサー, 電子コンパス, ジャイロ • 通信 • msgpack-rpc [https://github.com/msgpack/msgpack-rpc] • 描画 • OpenGL 22
  23. 23. Sekai Camera for Android • 主要利用技術 • カメラ • 位置測位 • GPS, WiFi, 基地局 • 方向測位 • 加速度センサー, 電子コンパス • 通信 • msgpack-rpc [https://github.com/msgpack/msgpack-rpc] • 描画 • OpenGL, JNI (NDK) 23
  24. 24. Sekai Camera ZOOM • 主要利用技術 • カメラ • 位置測位 • GPS, 基地局 • 方向測位 • 6軸センサー • 十字キーによるマニュアル操作も可 • 描画 • OpenGL 24
  25. 25. domo • 主要利用技術 • 位置測位 • GPS, WiFi, 基地局 • 位置情報管理 • GeoHex[http://geohex.net] • 外部サービス連携 • Facebook 25
  26. 26. System Overview Client Server Side External Devices Services Conn/Notice Timeline Apple iPhone Manager DB PNS Android Webapp DB C2DM Android DB SC Web S3 Facebook (Storage) ZOOM AMS twitter Dros (Game) domo API DB Game DB API CP Proxy PC HappyTurn OpenAir DB (KPI Analysis) DB Publisher 26
  27. 27. 自己紹介•内原 章 •頓智ドット株式会社 •エンジニア 27
  28. 28. AirTag Browsing/Posting Client Server Side External Devices Services Conn/Notice Timeline Apple iPhone Manager DB PNS Android Webapp DB C2DM Android DB SC Web S3 Facebook (Storage) ZOOM AMS twitter Dros (Game) domo API DB Game DB API CP Proxy PC HappyTurn OpenAir DB (KPI Analysis) DB Publisher 28
  29. 29. Sekai Apps Client Server Side External Devices Services Conn/Notice Timeline Apple iPhone Manager DB PNS Android Webapp DB C2DM Android DB SC Web S3 Facebook (Storage) ZOOM AMS twitter Dros (Game) domo API DB Game DB API CP Proxy PC HappyTurn OpenAir DB (KPI Analysis) DB Publisher 29
  30. 30. Sekai Camera Web Client Server Side External Devices Services Conn/Notice Timeline Apple iPhone Manager DB PNS Android Webapp DB C2DM Android DB SC Web S3 Facebook (Storage) ZOOM AMS twitter Dros (Game) domo API DB Game DB API CP Proxy PC HappyTurn OpenAir DB (KPI Analysis) DB Publisher 30
  31. 31. domo Client Server Side External Devices Services Conn/Notice Timeline Apple iPhone Manager DB PNS Android Webapp DB C2DM Android DB SC Web S3 Facebook (Storage) ZOOM AMS twitter Movies&TV 123 items Dros (Game) 5 5 4 domo API DB GameHes Just Not T The ugly truth La Jetée DB API CP 2 1 1 Proxy2046 Chungking Ex... Terminator 2 PC HappyTurn OpenAir DB 1 1 1 (KPI Analysis) DB PublisherParis GATTACA The big blue 31
  32. 32. KPI Analysis Client Server Side External Devices Services Conn/Notice Timeline Apple iPhone Manager DB PNS Android Webapp DB C2DM Android DB SC Web S3 Facebook (Storage) ZOOM AMS twitter Dros (Game) domo API DB Game DB API CP Proxy PC HappyTurn OpenAir DB (KPI Analysis) DB Publisher 32
  33. 33. Amazon Web Services Client EC2 Server Side External Devices Services Conn/Notice Timeline SQS Apple iPhone Manager DB EBS PNS SDB Android ELB Webapp DB C2DM DB Android EBS ELB SC Web S3 Facebook (Storage) S3 ZOOM AMS ELB twitter Dros (Game) EBS ELBdomo API DB DB Game API CP Proxy PC HappyTurn EBS OpenAir DB (KPI Analysis) DB Publisher Route 53, CloudWatch 33
  34. 34. Open Source Client Server Side External Devices Services Conn/Notice Timeline Apple iPhone Manager DB PNS Android Webapp DB C2DM Android DB SC Web S3 Facebook (Storage) Pgpool-Ⅱ ZOOM AMS twitter Dros (Game) domo API DB MessagePack Game DB API CP Proxy PC HappyTurn OpenAir DB (KPI Analysis) DB Publisher 34
  35. 35. Protocols Client Server Side External Devices Services HTTP Conn/Notice Timeline Apple iPhone Manager DB HTTP/RESTful PNS Android Webapp DB MessagePack C2DM Android DB Original SC Web S3 Facebook (Storage) ZOOM AMS twitter Dros (Game) domo API DB Game DB API CP Proxy PC HappyTurn OpenAir DB (KPI Analysis) DB Publisher 35
  36. 36. Program Lang./Framework C++ RoR Conn/Notice Timeline Apple iPhone Obj-C Manager DB PNS CakePHP Android Webapp DB C2DM Android DB Java, RoRC/C++ SC Web S3 Facebook (Storage) CakePHP C++, AMS C++ twitter ZOOM SWF Dros PHP (Zend) (Game) domo API DB DB PHP Game API CP Proxy RoR PC HappyTurn OpenAir DB (KPI Analysis) DB Publisher 36
  37. 37. インスタンス数の推移 200 セカイ domo アプリ OpenAir セカイ 100 カメラ 1.0 Web ローンチ Rooms 2.0 イベント ローンチ 0 2008/11 2009/02 2009/09 2009/12 2010/03 2010/06 2010/10 2011/03 開発 スタート 37
  38. 38. Load Balancing Client Server Side Devices EC2 iPhone Conn/Notice DNS-RR Conn/Notice pgpool-II + PostgreSQL Android Webapp PostgreSQL ELB Webapp pgpool-II PostgreSQL ZOOM MySQL + replication MySQL MySQL caching memcached PC redis 38
  39. 39. Load Balancing (ideal) Client Server Side Devices domo API PostgreSQL iPhone domo API PostgreSQL dynamic DNS Android replication domo API domo API PostgreSQL EBS Duplicate ZOOM Source ELB Create pg_dump update d-dns PostgreSQL PC CloudWatch Create PostgreSQL AutoScaling 39
  40. 40. DB Sharding Client Server Side Devices EC2 iPhone pgpool-II + PostgreSQL Webapp User-1 ELB Webapp PostgreSQL Geo-1 Android User-2 pgpool-II PostgreSQL Geo-2 ZOOM 2 1 3 4 6 5 PC 7 40
  41. 41. Redundancy Client Server Side Devices EC2 iPhone Conn/Notice DNS-RR Conn/Notice pgpool-II + PostgreSQL Android Webapp PostgreSQL ELB Webapp pgpool-II PostgreSQL ZOOM MySQL + replication MySQL MySQL caching memcached PC redis 41
  42. 42. AWSの利用シーン• EC2• ELB• EBS• S3• SimpleDB• Simple Queue Service• CloudWatch 42
  43. 43. 今後利用する可能性がある、 または利用したいサービス • CloudFront • 地域別の応答速度差改善 • RDS • 初期構築作業の軽減 • replication/backup運用コストの軽減 • fault toleranceの簡略化 • VPC • broadcast - 複数ホストへの一斉メッセージ配信 • reassign ip address - 別インスタンスへのIPアドレス付け替え • CloudFormation • 運用簡略化 43
  44. 44. 東京リージョン 44
  45. 45. 比較検討 HTTP ab -c10 -n100 ab -c100 -n100 ab -c100 -n1000 Region ping curl (sec) (req/s) (req/s) (req/s) us-east 202.131 0.5244 21.94 86.65 214.11 ap-northeast 21.748 0.0554 218.09 264.76 416.43 セカイアプリの操作 Route 操作1 操作2 JP-US-JP 1.423 1.252 JP-JP-JP 0.298 0.377 45
  46. 46. 目指したもの• 事実:セカイカメラは重い• 仮説:ネットワークレイテンシが一因?• 期待:東京リージョン移設で    サクサク動くようになるかも 46
  47. 47. 現実• セカイカメラ • 結果:ユーザ体験にはあまり好影響なし • 分析:アプリ自体が重かった... • カメラ + GPS + タグ3Dレンダリングが主な要因 47
  48. 48. セカイアプリでは... • 通信プロトコルが異なるので、 よりレイテンシの影響を受けやすい? 48
  49. 49. サーバー分散によるレイテンシ改善• ネットワーク的に近いサーバーと通信 App App App EC2 EC2 EC2 App EC2 App App App 49
  50. 50. サーバー分散によるレイテンシ改善• ネットワーク的に近いサーバーと通信 App-1 DB-1 replication App-2 DB-2 App-1 DB-1 multi request App-2 DB-2 50
  51. 51. 自前で分散 Client Server SideDevices iPhone App-1 DB-1 Android cache Locale Info user1=locale1 or x.x.x.x/24=locale1 ZOOM App-2 DB-2 PC 51
  52. 52. Geo-LB/Geo-DNS Client AWS Server Side Devices Locale iPhone Info x.x.x.x/24 = locale1 Android Geo-LB App-1 DB-1 ZOOM Geo-LB App-2 DB-2 Geo-DNS PC 52
  53. 53. Thanks! 53

×