【チート】GAE/Pythonでサービス作ろう!【シート】

水曜日, 3月 9th, 2011 by admin

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を使うようにしましょう。

GAE SDKダウンロード

アカウント取得

要素技術

Hello GAE

webapp

DataStore

Memcached

cron

Django

OAuth

作ってみた

ブログシステム

まとめ

この記事どうだった?

Leave a Reply


single