App Engine ja night #19 に参加したよー
参照: http://atnd.org/events/25386
以下参加メモ
■ セッション 18:30~19:30
PythonのDatastore APIの新モジュール “ndb” の紹介と、非同期プログラミングのすすめ
[twitter:@najeira]さん
Guido が作ってるもの。モデルのCRUDが簡素になった模様。
キャッシュについて
非同期処理について
- データの取得時に非同期にフェッチできる。非同期に処理を実施した際は、多少処理待ちが発生するので、コールバックを登録し、処理を五月雨にできる。
- 上記ではコールバック地獄になる。<-問題
- 解決のため、tasklets がある。yield により処理の一時停止をりようして、処理を非同期にでき、嬉しい。
実験的機能ではあるけど、旧来のものに上記の機能を追加して、より使い易くしたもようです。GAEの課金問題もあり、よりローコストでパフォーマンスのよいものが作れるんだろうなーと聞いていて思いました。漸進的に進化できる環境って素敵。
■ BeerTalk(懇親会) 19:30~21:30
AZusaar!でのappengine活用事例
[twitter:@sue445] さん
AZusaar!でのappengine活用事例 #ajn19
View more PowerPoint from sue445
- Ajax で作るとよい。GAEでやるとサーバサイドで遅い、Ajaxで非同期にやって、処理を早くした。
- Frontend Cache Control spin up Instanceの起動をやらないようにする。ただし、課金しておく必要がある。
- Memcache を使い、キャッシュと効かせる。一ヶ月分載せている。容量が大きくなりすぎたのでgzip圧縮したが、特に性能面でオーバーヘッドはなかった。
- リストなどのJSONファイルなど半静的化コンテンツを作成して使って予め作っておけば、課金対策にもなる。
- appengine にていくつかの項目に特化して、全文検索を作成した。n-gram 検索できるようにした。
- Production環境からUrlfetchできないことがあって、ProxyサーバをHerokuで立てた。
- ステージングは別appIdで行った。
- 課金は $2.1/week のみ。
$2.1/week ってのがすごいんだろうなと思った。GAEなのでスケールするんだろうし、面白い。
PicoTubeでのApp Engine活用事例
- サイト上でDJっぽいことをできるサイト。
- 静的ファイルをAWSで配信したり、全文検索にAWSを利用したりしていて、それぞれ用途が分かれている。
- Flask -> Kay -> webapp と利用しているフレームワークは変遷している。
- キャッシュについては、独自に実装している。
- 当たり前のことをコツコツやることがパフォーマンスに重要。
- 問題
- MemcacheのExpireが早い。
- データセンターが日本から遠い。
- 全文検索は今後に期待
- ログ解析が面倒。
適宜必要な箇所にGAE/AWSを利用しており、面白い。
HRD移行したけど何か質問ある?
[twitter:@hanasoo] さん
- Master/Slave -> HRD
- アプリの対応をし、 BlobStoreの移行をし、MigratoinToolを使えばいいよ。
データの内情がわかり面白い。