Google App Engine 第一回
- 2015年03月20日
- CATEGORY- 1. 技術力{技術情報}
<Google App Engineについて>
Google App EngineはGoogleが提供するサービスの1つで、ウェブアプリケーションをPython、Java、Go言語やPHPを使用して開発し、Googleのインフラストラクチャー上で実行し、バージョン管理することができる。
(Wikipedia抜粋)
<使用できる言語>
Google App Engineで使用出来る言語には、
* Python
* Java
* PHP
* Go
があり、それぞれの言語にSDKが用意されています。
JVMに関しては、Javaバイトコード生成コンパイラがあれば、Java以外の言語の利用も可能です。
* JRuby
* Scala
* Rhino(Java Script)
* Quercus(PHP)
https://cloud.google.com/appengine/downloads
<Eclipse Plugin>
Google App Engineのアプリ開発とクラウド環境へのデプロイは、コマンドラインからも可能ですが、「Google Plugin for Eclipse」が用意されているので、アプリケーションの開発からクラウド環境へのデプロイまでを、すべてEclipseの開発環境内で行えます。
Eclipse 4.4(Luna)
https://dl.google.com/eclipse/plugin/4.4
Eclipse 4.3(Kepler)
https://dl.google.com/eclipse/plugin/4.3
Eclipse 4.2(Juno)
https://dl.google.com/eclipse/plugin/4.2
<API and Service>
* Memcache API
GAEのインフラを利用した、On memory cache(Memcached)へのアクセスを可能とするAPIが提供されています。Memcachedと同様にKey/Valueベースのインターフェースです。
Datastoreへのアクセスを減らす(コストダウンの)ためには必要不可欠なAPIです。
※コストダウンに関しては別の回で解説いたします。
* Datastore API
Google Cloud DatastoreにアクセスするためのAPI群が提供されています。
Cloud Datastoreはスキーマの無いオブジェクトデータベースで、通常のRDBMSとは異なります。
Cloud Datastoreには1日あたりの無料利用枠があり、一定以上利用すると課金対象となります。
* Mail API
Google App Engineアプリケーションからメール送信を行うためのAPI群が提供されています。
こちらも1日の送信先数の上限を超えて送信を行うと課金の対象となります。
* Image API
Google App EngineからImage dataのサイズ変更、回転や反転などの画像操作を行うためのAPI群が提供されています。
*BigTable (BigQuery)
BigTableはGoogleの主要なサービスを支える独自の巨大分散データストアです。
BigTableは、2005年4月から本格的な運用(プロダクション利用)が開始されたもので、Googleの検索サービスをはじめ、Gmail、YouTube、Google Maps、Google日本語入力、そしてGoogle App Engineなど、70以上のプロジェクトで利用されています。
<Cron and Task Queue>
UnixでおなじみのCronが用意されており、定期処理を行いたい時間(間隔)を指定することでServletを起動させることが出来ます。
ただしServletにはリクエストのタイムリミットが設定されており、30秒を超えるリクエストは500エラーが返されてしまいます。
これを回避するために、Task Queueを使用することでリクエストのタイムリミットを10分に延長することが可能です。
実行時間の長いバッチ処理などを実行させる場合、Cron+Task Queueを使用する必要があります。
次回は「Google App Engineの料金について」です。
- 2015年03月20日
- CATEGORY- 1. 技術力{技術情報}