picotubeでのapp engine活用事例
DESCRIPTION
PicoTube is a place where you enjoying DJing online with your friends.TRANSCRIPT
PicoTube -‐ Video Party Any8me -‐
株式会社ヴェッテル代表取締役CEO 山下英孝@weboo
1
12年2月26日日曜日
Who?
2
2006 Unoh2008 gumi2009 mixi2011 Vettl
山下英孝weboo-returns.com
@weboo
12年2月26日日曜日
picotube.tv
3
12年2月26日日曜日
TechCrunch Tokyo 2011 Winner
4
応募130社の中から最優秀賞受賞12年2月26日日曜日
5
Video Party Anytime!
12年2月26日日曜日
PicoTube’s Features
Video Party Anytime
Social Radio & Curation
Gamification
Realtime Communication
12年2月26日日曜日
Gamificationポイントを稼ぐ
アバターが進化
7
12年2月26日日曜日
Gamification
映画館クラブ 野外ライブ 教室
Podオーナーとなり、自分のクラブハウスを大きくしたり自分好みにカスタマイズ
8
Pod育成ゲーム的要素
12年2月26日日曜日
特徴
9
・リアルタイム同期再生・HTML5+CSS3によるアニメーション・English/Japanese対応・ビデオエフェクト機能・300人までPODで同時に楽しめる
12年2月26日日曜日
システム構成
10
Google App Engine
S3 + CloudFront,node.js, Groonga
Web Browser
Channel API
API Call
12年2月26日日曜日
Channel API
11
4.Chat Mesage
1.Movie Control
2.Avatar Control
3.Notification
実際は一本のChannelを仮想的に複数化優先度によってQueueを分ける
GAE
12年2月26日日曜日
Why GAE?
12
・ ベンチャー企業に最適 → 初期費用がいらない、運用コストほぼゼロ ・運用コストが低い・サーバー代も安い(ちゃんと性能に気を遣えば)・リアルタイム通信のためのChannel APIの存在 ・Pythonエンジニア
12年2月26日日曜日
Performance
13
・Flask → Kay → webappに落ち着きました・Key による Get が基本、Query はダメ絶対!・後でよい処理をTask Queue で非同期化・優先度によって Queue を分ける
12年2月26日日曜日
Performance
14
・独自キャッシュレイヤで更新タイミングを制御・Computed Property を使わない・利用頻度の低いデータや Blob のモデルを分ける・静的ファイルは、S3 + CloudFrontを利用
12年2月26日日曜日
Performance
15
結論としては、当たり前のことをコツコツやっていくのが大事
12年2月26日日曜日
GAEで困っているところ
16
・MemcacheのExpireが早い → バックエンドをmemcache代わりにするのはあり?
・データセンタが日本から遠い・全文検索(今後に期待) → PicoTubeは、EC2上にGroongaで回避
・ログ解析が面倒
12年2月26日日曜日
SXSW 2012
17
12年2月26日日曜日
Thank you.
18
12年2月26日日曜日