GAE/Pythonでサービス作ろう!

水曜日, 3月 23rd, 2011 by

この10日間ほど、地震のニュースばかり追いかける日々をすごしていないでしょうか?大勢の方が被災され、原発関連の二次災害も発生する中で落ち着きづらいというのも事実なのですが、心配しすぎてもしかたない。そう思いながらこの記事をまとめました。

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に分類されます。ハードウェアやOSを気にせずサービスの開発に専念できます。今回の震災ではデータセンタの被害はほとんどなかったように思いますが、GAEで構築したサービスは、データセンタ単位の障害が発生したとしても、継続してサービスを運用できます。

GAEのメリット

Googleのインフラを無料で使えます。

  • 基本料金 無料
    初期費用、基本料金が無料なだけでなく、中小規模のサイトを運営できるだけの無料リソースがついています。
  • スケーラビリティー
    負荷に応じて自動的にスケールアウトします。サーバ構成なんて気にする必要ありません。

GAEのデメリット

デメリットはこんなところ。

  • 独自ドメインでSSLを使えない
    本格的にサービスを運用するなら、独自ドメインを使いたいですよね。でも、独自ドメインを適用するとSSLが使えません。致命的な問題ですが、2011年の春頃には解決するという話もあります。(要出展)
  • Pythonのバージョンが古い
    Python2.5です。古いです。特に、マルチバイト文字の取り扱いに苦労します。
  • 移行先がない
    GAE向けに開発したサービスを動かせる環境が他にありません。(あるなら教えて。)
  • βサービスである
    β版のプラットフォーム上で商用サービスを運用して大丈夫?
  • 実行時の制約が厳しい
    処理時間やリクエストサイズに制限があったり、ファイルへの書き込みができなかったりします。
  • 遅延が大きい
    インスタンスを配備する場所を選択できない。静的ファイルは国内に配信サーバがあるようにも見えるが、動的に生成しているHTMLのレスポンスタイムは数百msある。

個人でサービス立ち上げるにはいい感じですが、仕事で使うにはまだ早いかなーって気がします。特に、独自ドメインでSSLを使えないのはまずいですね。

環境構築

1. Pythonをインストール

前回の記事でも強調しましたが、Python2.5.xをインストールしてください。2.6でも2.7でも3.2でもなく、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を使うようにしましょう。

2. Google App Engine SDK for Pythonをインストール

以下のサイトから、Google App Engine SDK for Pythonをダウンロードしてインストールしてください。Windows版、MacOS X版、Linux版/その他のプラットフォーム版が用意されています。

http://code.google.com/intl/ja/appengine/downloads.html

3. Google App Engineのアカウントを取得

作ったアプリを一般公開するには、Googleのアカウントが必要です。Gmailなどで使ってるアカウントで大丈夫ですが、GAE用にアクティベーションする必要があります。

AppEngineアカウントの登録 / Another Story 開発ブログなどを参考にすれば簡単にアカウント登録できると思います。1つのアカウントで10個のアプリケーションを公開できます。

作ってみよう

GAE/PythonでWebアプリつくるのは簡単です。早速作ってみましょう!

Hello World!

まずはHello Worldアプリを作成してみましょう。といっても、ソースコードは一行も書きません。

1. Google App Engine Launcherで、新規アプリケーションを作成します

メニューから新規アプリケーションを選択

アプリケーション名と、保存先を指定

2. 起動

左上のRUNボタンをクリックします。ローカルPC上で起動します。外の世界には公開されません。

3. 動作確認

Browseボタンをクリックすると、ブラウザが起動し、実行結果を確認できます。

まとめ

ほんとはもっといろんな内容を盛り込もうとおもっていたのですが、時間の都合で盛り込めませんでした。次はテーマを絞って記事にまとめようと思います。

Facebook comments:

comments

Leave a Reply


Get Adobe Flash player
single