- appengine ja night #25 を開催します - Google Developer Japan Blog
- appengine ja night #25まとめ - Togetterまとめ
- 過去のログ
会場についたらすでにピザが用意してあってビックリしました。
というわけで、メモです。PC忘れて行ったので、手書きの書き起こし。つらい。
App Engine の新機能の話 & Peter と話そう!
資料 → あるのかな?
App Engineの現状と、課題と、その解決のお話。すでに公開している情報も含まれています。
- App Engine
- 開発者がインフラを気にせずに開発できるようにしている
- アプリやロジックに注力できる
- 今まで順調にユーザが増えてきている
- しかしながら、まだまだやらなくてはならないことが沢山ある
- 現状
- 課題
- DatastoreはApp Engineでしか使うことができない
- Memcacheは1アプリでのみキャッシュが有効
- Youtubeなどとも共有のものである
- 規模が大きくなることの課題
- Task Queueが滞ったり、タスクが消えたりしてしまう
- Blob Store、Cloud Storageがバラバラ
- 現在の取り組み
- App Engine Modules
- 例
- Dedicated Memcache
- 今までのMemcacheと異なり、アプリ専用のMemcache領域を持つことが出来る
- 必要であれば、容量は増やせる。
- 2TB利用している顧客もいる。
- 専用領域なので、長期間保持したい場合にも利用することが出来る
- 今までは、共有していたため、すぐに消えていた
- Blob StoreはCloud Storageに
- 多くの場合には、Blob StoreよりもCloud Storageを利用したほうがよい
- PHPもサポート
- App EngineとCompute Engineの融合
- Task Queue
- パフォーマンスと信頼性の向上
- 使われ方が想定外で、思った以上に使われている
- cronの代わりと想定していたが、1秒に5000のタスクが作られるとは・・・
- DatasotoreをREST APIで公開
- Cloud Playground
- Google Cloud Computing, Hosting Services & Cloud Support — Google Cloud Platform
- cloud-playground - Cloud Playground - Google Project Hosting
- App Engine上で動いていて、サンプルコードとドキュメントがある
- ブラウザで実行することが出来る
- コピーボタンを押すだけで作ってくれる
- エディタが組み込まれていて、編集すると、明示的に保存しなくてもよい
- 学習用に使ってください
- App EngineにVMが追加
- Runでプロジェクトを実行
- デプロイをブラウザ上で行うことが出来る
- Compute Engineだが、App Engineで管理されている
- どんな言語でもOK
- App Engineで次にどの言語がサポートされるの?と言う疑問には、すべての言語と言うことが出来る
- QA
- Google モデレーター
- アジアのデータセンターは年内に出来る?
- Play Groundは自分の作ったものが他の人にコピーされるの?
- Yes 引き回していきます
- Python3は?
- 予定はあるが、時期は未定
- Cloud StorageとGoogle Appsとの連携は?
- 今言えることはないです
- Search ServiceのIndexの見積はどうやるの?
- 確認します
- Memcacheの1M制限について
- 確認します。
- Cloud Storageでどうにかなるかな?
- Java Servlet3
- VMランタイムで!
- Blob Storeから、Cloud Storageに移行するとURLが変わってしまう?
- エンジニアに確認しないとなんとも
- スマホアプリでURLを使っているけど、リダイレクトとかどうなるのか知りたい
- アプリのバージョンアップを必ずしてくれるわけではないので・・・
- Backendsの問題
- VMに置き換えられます。
- ただし、7日間に1回はリスタートします
- Backendsは残して欲しいとのリクエストもあるので、移行ではなく、機能追加かも?
- Backendsのログが最後しか出ない
- んー・・・
- ステートフルにするような、sticky sessionをサポートする?
- スケーラビリティがApp Engineの哲学です。App Engine道です。
- スケーラビリティが中程度でよければ、Compute Engineを利用してください
- 最近の傾向としては、クライアントサイドで状態を持ち、サーバ側はステートレスが良いでしょう
Android アプリのガチ開発者が Mobile Backend Starter を使ってみた
資料 → 「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
- Mobile Backend Starterとは?
- Mobile Backend Starter - Documentation — Google Cloud Platform
- App EngineをBaaSのバックエンドとして使うことが出来るものです。
- サーバ側のコードを書かずに、Android用のバックエンドを構築できます。
- iOSには対応していません
- メリット
- サーバ側のコードを書かなくて良い
- アプリ開発者でサーバ側を知らない人とかには非常に嬉しい
- スケーラビリティが高い
- 認証の機能がある
- GCM(Google Cloud Messaging)の機能が組み込まれている
- サーバ側のコードを書かなくて良い
- 使い方
- ボタンひとつでデプロイ出来る
- Settingsで設定をする
- サーバ側はこれだけでいける
- githubに公開されているので、カスタマイズして自分でデプロイすることも出来る
- Y.A.M の 雑記帳: Android : Mobile Backend Starter のサンプルを試す
- 使い道
- メッセージング
- データ永続化
- クラッシュログ
- センサーなどのログ
- GCM
- アプリ ⇔ Google Playアプリ ⇔ Google Playサーバ ⇔ サードパーティサーバ
- サードパーティサーバが必要で、GCMを送信する機能を作らないといけない
- pushする
- 同期のトリガーや、チャット、SNSなど。
- お知らせ、アプリの状態を同期
- 位置情報の共有など
- オフライン対応必須
- デバイスのDBにもデータを持つ
- Backup Agentと言うバックアップ機能がある
- 同期が面倒でコンフリクトにも対応しなければならない
- クラッシュログ
- 自前のクラッシュログ機能を入れる人向け
- 既存の提供されている機能は、動作しなかったり、ユーザが送信してくれるとは限らない
- α版、β版など
- センサーデータの収集
- 歩いている、走っているの情報など
- 定点カメラ的に、定期的に写真をアップするものなど
- アプリ内課金の検証
- アプリの公開鍵をサーバ側に持たせる
- セキュアなハンドシェイク
- 複雑なものは出来ない
- Client Library
- Androidアプリ用のSDKやライブラリを作るときに抑えておきたいこと
- SDKやライブラリを使ったサンプルアプリは作りましょう
- 広く使って欲しい人には必要です
- サンプルとライブラリをバンドルしないようにしましょう
- Androidに依存しないものは、jarファイルにする
- Androidに依存するものは、Android Library Projectとして提供する
- リソースIDには注意する必要があるので、プレフィックスをつけるなどする
- ActionBar Sherlockが参考になる → ActionBarSherlock - Home
- build pathには注意すること
- 画面の回転には注意すること
- まとめ
- サーバを書かずにGCMが使えて便利
- 1分もかからずにpush通知が来て便利
Google App Engine for PHP
資料 → appengine ja night #25 Google App Engine for PHP
- Google App Engine for PHP概要
- Google I/O後のアップデート
- IDEについて
- 既存アプリ
- 公式にwordpressのサンプルがある
- 公式では日本語版ではないが、日本語版でやってみたら動いた
- Blog @vierjp : 29.Google App Engine for PHPでWordPressを動かしてみた
- AppEngineでwordpressを動かすためのプラグインが公開されている
- ファイルアップロードと、メール通知が出来るようになる
- wordpressプラグイン
- phpMyAdmin
- Cloud SQLを使っているなら良いかも
- 公式にwordpressのサンプルがある
- 気をつける点、制限
- ローカルファイルが使えないのでCloud Storageを利用する
- $_FILEが使えないので、Cloud Storageに対してアップロードするようにする
- ファイルシステムに対するI/O
- バグがある、存在チェックとか
- realpathをサポートしていない、必ずファイルが見つからないと返される
- ファイルアップロード、ログ出力なども注意
- セッション管理
- Memcacheのみで、制限がある
- Session Handlerで、Cloud SQLに書き出すことも検討
- メール
- 標準のAPIは利用できない
- MailServiceを使うように書き換える必要がある
- 拡張モジュール
- 入っていない拡張モジュールがあるかもしれない
- フレームワーク
- 一時ファイルを書き込まない
- ログはSysログに書き出す
- CakePHP
- Blog @vierjp : 39.Google App Engine for PHPでCakePHPを動かしてみた
- そのままでは動かなかった
- 設定を変更することで、簡単なCRUDアプリは動作するようになった
- CakeMail
- そのままでは駄目
- MailServiceを使うように書き換えて、設定で変更しなければならなかった
- 添付ファイルの送信も出来なかった
- まとめ
- アプリのポータビリティはそこそこあった。フレームワークも使えた。
- 一部機能が透過的に動くようになればいいのに
- メールとか、ファイルとか
- スケーラビリティ
- Datastoreも使えればいいのに
Google App Engine と Google Apps API
資料 → 2013-07-16 ajn - Google スライド
- File APIとGCS Serviceについて
- 問題点
- Cloud Console と Cloud Integration
何やかんやあって・・・
-
- Cloud Console と Cloud Integrationを使うと、問題点が解決できると思ったが、そうはならなかった。
- しかも、容易なはずの、対応2が出来なくなった。
- まとめ
- Google Apps向けのアプリを作っている人は
- Cloud Console、Cloud Integrationの利用は、とりあえずは見送ったほうが良い
- Google Apps向けのアプリを作っている人は
追記
- Dedicated MemcacheをDelegated Memcacheと勘違いして書いていたのを指摘いただいたので修正しました。
- GAE/PHPの内容で発表者の@vierjpさんから指摘いただいたので修正しました。