KEIS BLOGは株式会社ケイズ・ソフトウェアが運営しています。

KEIS BLOG

Google App Engine 第一回

LINEで送る
Pocket

gae_001_001

<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の料金について」です。

LINEで送る
Pocket