SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Downloaden Sie, um offline zu lesen
セカイカメラのクラウド流儀



2011.04.06
Tonchidot 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
  人と出会い、人と繋がる          場所、移動のコンテキストを活用



           SoLAR

                AR
           現実空間を重ねて楽しい体験
                                         14
Sekai Apps




             15
Sekai Apps




             16
domo

                Movies&TV
               123 items




                     5                    5                  4

       He's 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
How Sekai Camera works




                         19
Sekai Camera Enabled Devices




                               20
Sekai Camera for Smart Phone

 •   主要利用技術

     •   カメラ

     •   位置測位

         •   GPS, WiFi, 基地局

     •   方向測位

         •   加速度センサー, 電子コンパス

     •   通信

         •   msgpack-rpc [https://github.com/msgpack/msgpack-rpc]

     •   描画

         •   OpenGL
                                                                    21
Sekai Camera for iPhone

 •   主要利用技術

     •   カメラ

     •   位置測位

         •   GPS, WiFi, 基地局

     •   方向測位

         •   加速度センサー, 電子コンパス, ジャイロ

     •   通信

         •   msgpack-rpc [https://github.com/msgpack/msgpack-rpc]

     •   描画

         •   OpenGL
                                                                    22
Sekai Camera for Android

 •   主要利用技術

     •   カメラ

     •   位置測位

         •   GPS, WiFi, 基地局

     •   方向測位

         •   加速度センサー, 電子コンパス

     •   通信

         •   msgpack-rpc [https://github.com/msgpack/msgpack-rpc]

     •   描画

         •   OpenGL, JNI (NDK)
                                                                    23
Sekai Camera ZOOM

 •   主要利用技術

     •   カメラ

     •   位置測位

         •   GPS, 基地局

     •   方向測位

         •   6軸センサー

             •   十字キーによるマニュアル操作も可

     •   描画

         •   OpenGL
                                    24
domo

 • 主要利用技術
  • 位置測位
    • GPS, WiFi, 基地局
  • 位置情報管理
    • GeoHex[http://geohex.net]


  • 外部サービス連携
    • Facebook
                                  25
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
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
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
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
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                          Game
He's Just Not T   The ugly truth       La Jetée
                                                                                         DB
                                                                                                    API        CP

              2                    1                  1
                                                                                                   Proxy
2046              Chungking Ex...      Terminator 2

                          PC                                     HappyTurn                                   OpenAir
                                                                                      DB
              1                    1                  1
                                                                (KPI Analysis)                DB             Publisher
Paris             GATTACA              The big blue




                                                                                                                          31
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
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
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
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
Program Lang./Framework

                          C++                    RoR
                       Conn/Notice            Timeline
                                                                          Apple
    iPhone     Obj-C                          Manager DB
                                                                           PNS
                        CakePHP
                                                                              Android
                        Webapp
                                               DB                              C2DM
         Android                                       DB
 Java,                    RoR
C/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
インスタンス数の推移

 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
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
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
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
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
AWSの利用シーン

• EC2
• ELB
• EBS
• S3
• SimpleDB
• Simple Queue Service
• CloudWatch
                         42
今後利用する可能性がある、
 または利用したいサービス
 •   CloudFront

     •   地域別の応答速度差改善

 •   RDS

         •   初期構築作業の軽減

         •   replication/backup運用コストの軽減

         •   fault toleranceの簡略化

 •   VPC

     •   broadcast - 複数ホストへの一斉メッセージ配信

     •   reassign ip address - 別インスタンスへのIPアドレス付け替え

 •   CloudFormation

     •   運用簡略化

                                                     43
東京リージョン



          44
比較検討



  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
現実



• セカイカメラ
 • 結果:ユーザ体験にはあまり好影響なし
 • 分析:アプリ自体が重かった...
     •   カメラ + GPS + タグ3Dレンダリングが主な要因




                                       47
セカイアプリでは...




 • 通信プロトコルが異なるので、
  よりレイテンシの影響を受けやすい?




                      48
サーバー分散によるレイテンシ改善
• ネットワーク的に近いサーバーと通信
                           App
         App
                                                App
   EC2                           EC2
               EC2                       App
                                               EC2

                                   App
                     App

                                                 App




                                                       49
サーバー分散によるレイテンシ改善
• ネットワーク的に近いサーバーと通信
   App-1   DB-1

              replication
   App-2   DB-2




   App-1   DB-1

           multi request
   App-2   DB-2



                            50
自前で分散
 Client                     Server Side
Devices
 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
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
Thanks!



          53

Weitere ähnliche Inhalte

Ähnlich wie Tonchidot

Effective web performance tuning for smartphone
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphonedena_study
 
サーバーレス・アーキテクチャ概要
サーバーレス・アーキテクチャ概要サーバーレス・アーキテクチャ概要
サーバーレス・アーキテクチャ概要真吾 吉田
 
devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2Yushi_Takagi
 
SORACOM Discovery 2019 B2 カメラデバイスを使ったIoTシステム構築の実践
SORACOM Discovery 2019 B2 カメラデバイスを使ったIoTシステム構築の実践SORACOM Discovery 2019 B2 カメラデバイスを使ったIoTシステム構築の実践
SORACOM Discovery 2019 B2 カメラデバイスを使ったIoTシステム構築の実践SORACOM,INC
 
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintentsKensaku Komatsu
 
SORACOM Discovery2019 H1新規事業立上げを支援するソラコムチームの活動とユーザー事例
SORACOM Discovery2019 H1新規事業立上げを支援するソラコムチームの活動とユーザー事例SORACOM Discovery2019 H1新規事業立上げを支援するソラコムチームの活動とユーザー事例
SORACOM Discovery2019 H1新規事業立上げを支援するソラコムチームの活動とユーザー事例SORACOM,INC
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminarManabu Shimobe
 
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏Daisuke Ikeda
 
決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニーTokuhiro Eto
 
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターンSORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターンSORACOM,INC
 
BigQueryを活用したPrivate DMPを作って使ってるお話
BigQueryを活用したPrivate DMPを作って使ってるお話BigQueryを活用したPrivate DMPを作って使ってるお話
BigQueryを活用したPrivate DMPを作って使ってるお話Masato Kawada
 
Pyramid + socket.io 人狼を作ってみた
Pyramid + socket.io 人狼を作ってみたPyramid + socket.io 人狼を作ってみた
Pyramid + socket.io 人狼を作ってみたJunya Hayashi
 
Webな技術でIoT自販機を作って運用している話 -ポケットチェンジでのものづくり-
Webな技術でIoT自販機を作って運用している話 -ポケットチェンジでのものづくり-Webな技術でIoT自販機を作って運用している話 -ポケットチェンジでのものづくり-
Webな技術でIoT自販機を作って運用している話 -ポケットチェンジでのものづくり-Masato Igeta
 
Voicepic@FacebookNight
Voicepic@FacebookNightVoicepic@FacebookNight
Voicepic@FacebookNightManabu Shimobe
 
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築VOYAGE GROUP
 
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonightAmazon Web Services Japan
 
Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢Maho Takara
 
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...SORACOM,INC
 

Ähnlich wie Tonchidot (20)

GCPの画像認識APIの紹介
GCPの画像認識APIの紹介 GCPの画像認識APIの紹介
GCPの画像認識APIの紹介
 
Effective web performance tuning for smartphone
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphone
 
サーバーレス・アーキテクチャ概要
サーバーレス・アーキテクチャ概要サーバーレス・アーキテクチャ概要
サーバーレス・アーキテクチャ概要
 
devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2
 
SORACOM Discovery 2019 B2 カメラデバイスを使ったIoTシステム構築の実践
SORACOM Discovery 2019 B2 カメラデバイスを使ったIoTシステム構築の実践SORACOM Discovery 2019 B2 カメラデバイスを使ったIoTシステム構築の実践
SORACOM Discovery 2019 B2 カメラデバイスを使ったIoTシステム構築の実践
 
6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents6th oct2012 kobeit_webintents
6th oct2012 kobeit_webintents
 
SORACOM Discovery2019 H1新規事業立上げを支援するソラコムチームの活動とユーザー事例
SORACOM Discovery2019 H1新規事業立上げを支援するソラコムチームの活動とユーザー事例SORACOM Discovery2019 H1新規事業立上げを支援するソラコムチームの活動とユーザー事例
SORACOM Discovery2019 H1新規事業立上げを支援するソラコムチームの活動とユーザー事例
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
 
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
 
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
 
決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー
 
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターンSORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
 
BigQueryを活用したPrivate DMPを作って使ってるお話
BigQueryを活用したPrivate DMPを作って使ってるお話BigQueryを活用したPrivate DMPを作って使ってるお話
BigQueryを活用したPrivate DMPを作って使ってるお話
 
Pyramid + socket.io 人狼を作ってみた
Pyramid + socket.io 人狼を作ってみたPyramid + socket.io 人狼を作ってみた
Pyramid + socket.io 人狼を作ってみた
 
Webな技術でIoT自販機を作って運用している話 -ポケットチェンジでのものづくり-
Webな技術でIoT自販機を作って運用している話 -ポケットチェンジでのものづくり-Webな技術でIoT自販機を作って運用している話 -ポケットチェンジでのものづくり-
Webな技術でIoT自販機を作って運用している話 -ポケットチェンジでのものづくり-
 
Voicepic@FacebookNight
Voicepic@FacebookNightVoicepic@FacebookNight
Voicepic@FacebookNight
 
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
 
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
 
Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢
 
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
 

Kürzlich hochgeladen

TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 

Kürzlich hochgeladen (11)

TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 

Tonchidot

  • 3. Sekai Camera enriches the World
  • 4. with Sekai Cam, we will engage the FUTURE!
  • 13. Sekai Camera Web http://sekaicamera.com/ 13
  • 14. Sekai Apps ARによる独自の体験性を通じ、 人と人が繋がるソーシャル性を持ったアプリケーション。 Social Location 人と出会い、人と繋がる 場所、移動のコンテキストを活用 SoLAR AR 現実空間を重ねて楽しい体験 14
  • 17. domo Movies&TV 123 items 5 5 4 He's 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
  • 19. How Sekai Camera works 19
  • 20. Sekai Camera Enabled Devices 20
  • 21. Sekai Camera for Smart Phone • 主要利用技術 • カメラ • 位置測位 • GPS, WiFi, 基地局 • 方向測位 • 加速度センサー, 電子コンパス • 通信 • msgpack-rpc [https://github.com/msgpack/msgpack-rpc] • 描画 • OpenGL 21
  • 22. Sekai Camera for iPhone • 主要利用技術 • カメラ • 位置測位 • GPS, WiFi, 基地局 • 方向測位 • 加速度センサー, 電子コンパス, ジャイロ • 通信 • msgpack-rpc [https://github.com/msgpack/msgpack-rpc] • 描画 • OpenGL 22
  • 23. Sekai Camera for Android • 主要利用技術 • カメラ • 位置測位 • GPS, WiFi, 基地局 • 方向測位 • 加速度センサー, 電子コンパス • 通信 • msgpack-rpc [https://github.com/msgpack/msgpack-rpc] • 描画 • OpenGL, JNI (NDK) 23
  • 24. Sekai Camera ZOOM • 主要利用技術 • カメラ • 位置測位 • GPS, 基地局 • 方向測位 • 6軸センサー • 十字キーによるマニュアル操作も可 • 描画 • OpenGL 24
  • 25. domo • 主要利用技術 • 位置測位 • GPS, WiFi, 基地局 • 位置情報管理 • GeoHex[http://geohex.net] • 外部サービス連携 • Facebook 25
  • 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
  • 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. 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. 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. 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 Game He's Just Not T The ugly truth La Jetée DB API CP 2 1 1 Proxy 2046 Chungking Ex... Terminator 2 PC HappyTurn OpenAir DB 1 1 1 (KPI Analysis) DB Publisher Paris GATTACA The big blue 31
  • 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. 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. 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. 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. Program Lang./Framework C++ RoR Conn/Notice Timeline Apple iPhone Obj-C Manager DB PNS CakePHP Android Webapp DB C2DM Android DB Java, RoR C/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. インスタンス数の推移 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. 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. 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. 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. 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. AWSの利用シーン • EC2 • ELB • EBS • S3 • SimpleDB • Simple Queue Service • CloudWatch 42
  • 43. 今後利用する可能性がある、  または利用したいサービス • CloudFront • 地域別の応答速度差改善 • RDS • 初期構築作業の軽減 • replication/backup運用コストの軽減 • fault toleranceの簡略化 • VPC • broadcast - 複数ホストへの一斉メッセージ配信 • reassign ip address - 別インスタンスへのIPアドレス付け替え • CloudFormation • 運用簡略化 43
  • 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
  • 47. 現実 • セカイカメラ • 結果:ユーザ体験にはあまり好影響なし • 分析:アプリ自体が重かった... • カメラ + GPS + タグ3Dレンダリングが主な要因 47
  • 48. セカイアプリでは... • 通信プロトコルが異なるので、 よりレイテンシの影響を受けやすい? 48
  • 50. サーバー分散によるレイテンシ改善 • ネットワーク的に近いサーバーと通信 App-1 DB-1 replication App-2 DB-2 App-1 DB-1 multi request App-2 DB-2 50
  • 51. 自前で分散 Client Server Side Devices 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. 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. Thanks! 53