GAEとは
多種多様なクラウド系サービスが登場しているが、それらは以下の3つに分類できる。
- SaaS (Software as a Service)
サービスそのものを提供 例) GoogleApps、SalesForce、Gmail - PaaS (Platform as a Service)
ソフトウェアの開発・運用基盤を提供するサービス 例) GoogleAppEngine、Azure、Force.com - HaaS (Hardware as a Service) = IaaS (Infrastructure as a Service)
サーバやネットワークインフラを提供するサービス 例) Amazon Web Services
GAE(Google App Engine)は、この中でPaaSに分類される。PaaSを使うと、ハードウェアやOSの管理を意識せずに、アプリケーションの開発に専念できるというメリットがある。その反面、PaaSプロバイダの提供する環境を使わざるを得ない。Pythonは3.2まで正式版がリリースされているにもかかわらず、GAEを使う限りはバージョン2.5のPythonを使わざるを得ない。
GAEのメリット
主なメリットはこの2つ。Googleのインフラを無料で使えます。
- 基本料金 無料
初期費用、基本料金が無料なだけでなく、中小規模のサイトを運営できるだけの無料リソースがついています。 - スケーラビリティー
自動的にスケールアウトします。サーバ構成なんて気にする必要ありません。
GAEのデメリット
デメリットはこんなところ。
- 独自ドメインでSSLを使えない
本格的にサービスを運用するなら、独自ドメインを使いたいですよね。でも、独自ドメインを適用するとSSLが使えません。致命的な問題ですが、2011年の春頃には解決するという話もあります。(要出展) - Pythonのバージョンが古い
Python2.5です。古いです。特に、マルチバイト文字の取り扱いに苦労します。 - 移行先がない
GAE向けに開発したサービスを動かせる環境が他にありません。(あるなら教えて。) - βサービスである
β版のプラットフォーム上で商用サービスを運用して大丈夫? - 実行時の制約が厳しい
処理時間やリクエストサイズに制限があったり、ファイルへの書き込みができなかったりします。 - 遅延が大きい
インスタンスを配備する場所を選択できない。静的ファイルは国内に配信サーバがあるようにも見えるが、動的に生成しているHTMLのレスポンスタイムは数百msある。
個人でサービス立ち上げるにはいい感じですが、仕事で使うにはまだ早いかなーって気がします。特に、独自ドメインでSSL
を使えないというのはまずいですね。
環境構築
前回の記事でも強調しましたが、Python2.5.xをインストールしてください。2.6でも2.7でも3.2でもなく、2.5です。2.5です。GAE使うなら2.5です。
ダウンロードURL
http://www.python.jp/Zope/download/pythoncore
Windows向けのパッケージは3つあります
- python-2.5.4.msi // 普通はこれでいい
- python-2.5.4.amd64.msi // 64bit環境を活用したいならこれ。IntelのCPUでもこっちつかう。
- python-2.5.4.ia64.msi // Itanium使ってる奇特な方はこれをどうぞ。いないよね。
MacとLinux向けの導入方法は省きます、標準で2.6がインストールされている場合が多いようですが、GAE/PythonはPython2.5で動作しています。トラブルを避けたければ極力2.5を使うようにしましょう。