「Google App Engine」は,米Googleが提供しているWebアプリケーション開発/実行環境です。2008年4月に先着1万人限定でプレビュー版を公開,同年5月末からは人数制限を撤廃して,無料のユーザー登録をすれば誰でも使えるようになりました。ここでは,2008年末時点のGoogle App Engineの使い方を紹介します。
※ 記事は執筆時の情報に基づいており,現在では異なる場合があります。

 最初に「Google App Engine」を簡単に説明しましょう。Google App Engineを一言でまとめると,「面倒な準備をせずに無料で使えるWebアプリケーション開発/実行環境」となります。

タダでGoogleのリソースを活用できる

 このGoogle App Engineを利用すれば,米Googleが運用している膨大なサーバー群はもとより,Googleのサービス基盤となっている分散ファイルシステム「GFS(Google File System)」やデータベース管理システム「BigTable」を使ったWebアプリケーションをタダで公開できます。

 では,どうして,GFSやBigTableといったGoogleのインフラを活用できるのでしょうか。そのカギを握るのが,Google App Engineが提供する,Pythonの実行環境と各種ライブラリです(図1)。

図1●Google App Engineの概要図。インターネットの向こう側にあるGoogleのサーバー群の上に,Webアプリケーション実行環境(Pythonの実行環境と各種ライブラリ)が存在する
図1●Google App Engineの概要図。インターネットの向こう側にあるGoogleのサーバー群の上に,Webアプリケーション実行環境(Pythonの実行環境と各種ライブラリ)が存在する

 Webアプリケーションの開発者は,プログラミング言語Pythonを使い,Google App Engineが提供する各種ライブラリを呼び出すWebアプリケーションを記述します。完成したら,それをアップロードするだけでGoogleのサーバー上で動作可能です。Python実行環境や各種ライブラリはGoogleのサーバー側で準備が整っています。

 このため,開発者に必要なのは,開発キット(Google App Engine SDK)の入手と,無償のユーザー登録だけ。Webアプリケーションを公開するために,従来のようにサーバー・マシンやネットワーク回線,OSやアプリケーションの実行環境を一から手配する必要はありません。もちろん,アプリケーション・サーバーを運用管理する手間も省けます。

リソース使用権には制限がある

 このように開発者は,タダで手軽にGoogleの膨大なコンピュータ・リソースを使えますが,その使用権には制限があります。

 まず,登録ユーザー一人当たりに割り当てられるストレージ容量は500Mバイト。そして,公開できるアプリケーションの数は10個までです。1アプリケーション当たりの最大ファイル数は1000個まで,1ファイルの最大サイズは1Mバイトまでとなっています。

 1日単位の制限もあります。ネットワーク回線のデータ送受信量や,プロセサのクロック・サイクル*1などです。表1にその制限を挙げました。アプリケーションが動作し始めると,この割り当て数を消費していくわけです。

表1●Google App Engineでは,1日当たりに消費するリソースの上限を決めている。この表の値を上回ると例外が発生したり,アプリケーションが止まったりする。データ容量の単位はGoogleの表記に従った
表1●Google App Engineでは,1日当たりに消費するリソースの上限を決めている。この表の値を上回ると例外が発生したり,アプリケーションが止まったりする。データ容量の単位はGoogleの表記に従った

 後述するDatastore APIなど,API呼び出しにかかっている制限を超えると例外が発生し,通信回線などコンピュータ・リソースにかかっている制限を超えるとアプリケーションが止まります。とは言っても,1日単位の制限は翌日になればリセットされてゼロに戻り,再びアプリケーションが動き出すようになっています。