スティルハウスの書庫の書庫

はてなダイアリーで書いてた「スティルハウスの書庫」を移転してきました。

Google App Engine for Javaと「ご都合.com」

(この記事は、日経BP社「ITpro」向けに書いたものを再掲しています)

連休中にとくに予定のなかったので、「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち、5月6日に「ご都合.com」を公開しました。その後、はてなブックマークやニュースサイト等でご紹介いただいたおかげで、公開後5日で約1500名の方にご利用いただいています。


ご都合.com(http://www.gotsugo.com/

そこで本稿では、この「ご都合.com」の開発を通じて実際に筆者が得た経験を通じて、GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。

Googleが2008年4月に発表したGoogle App Engineは、「自分が開発したWebアプリをGoogleのデータセンターで運用できるクラウドコンピューティングサービス」です。当初は利用可能な言語がPythonのみに限定されていましたが、2009年4月よりJavaに対応するGAE/Jが公開されました。以下に、GAEの(革命的な)特徴をまとめます。

  • 無償で使える
  • Googleの「Bigtable」を手軽に使える
  • サーバ構築作業が不要、デプロイが簡単

無償で使える豊富なサーバリソース

まずは、「無償で使える」という点。もちろん無償で使えるサーバリソースには上限があり、以下の「無償提供分」に示す値に制限されています(なお、以下の各情報は5月10日現在のものです)。これらの値を超える分については、「有償提供分の単価」に基づく従量課金となります。

無償提供分 有償提供分の単価
ストレージ容量 1GB $0.005/1GB×1日
ネットワーク帯域(上り) 10GB/1日 $0.10/1GB
ネットワーク帯域(下り) 10GB/1日 $0.12/1GB
CPU時間 6.5時間/1日 $0.10/1時間
メール受信件数 2000件/1日 $0.0001/1件

無償とはいっても、1GBのストレージがあれば、テキスト情報中心の中小規模のWebアプリには十分な容量です。ネットワーク帯域やCPU時間も申し分ありません。以下の図は、ご都合.comにおける実際のリソース消費状況をGAE/Jダッシュボード上で表示したものです。


ご都合.comのサーバリソース消費状況

この図では、過去22時間に消費したリソースが「Usage」欄に表示されています。もっとも消費の大きいリソースはネットワーク下り帯域で、0.98GB、つまり無償提供分のおよそ10%を消費しています(上記グラフでは無償分+有償分の43.33GBに対する割合として「2%」と表示されています)。つまり現状の10倍の利用者数までは無償でも大丈夫という計算です。ちなみに、この下り帯域のほとんどはFlexクライアントのswfファイル(およそ500KB)のダウンロードに費やされています。

ご都合.comのように、ほとんど初期投資のない一発芸サイトでは、「できるだけ小さく始める」ことが重要です。その点で、こうした豊富なサーバリソースを無償で使えるという環境は、今後多くのスタートアップビジネス(とりわけ個人ベースのもの)の参入障壁をなくし、大きなビジネスチャンスを提供すると思われます。

また有償課金時の単価もきわめて低コストで、ビジネスモデルの構築も比較的容易です。ご都合.comのこれまでの実績では、1日に消費するサーバリソースをすべて有料課金で換算しても、$0.3/1日程度です。これに対して、同サイトのバナー広告による収入は$3〜$4/1日で推移しています。もちろんこんな微々たる収入では5人日分の開発費はまったくペイしませんが、もし利用者数の規模が大幅に拡大した場合でも、ビジネスモデルは破綻しにくいと考えられます。