Google、ウェブサービスに参入―「Google App Engine」で一挙に急発進

次の記事

「Google Campfire One」、ライブ報告

われわれの「Google App Engine」のローンチ・イベントのライブ中継はこちら

Googleが「クラウド〔ウェブ・サービス上〕」でアプリケーションをホストするというのは単なる口先の話ではなかった。今夜、太平洋時間の午後9時、Googleは「Google App Engine」をリリースした。(アップデート: サイトも運用開始)。 フル機能のホスト版で自動的にどこまでもスケールするウェブ・アプリケーションが開発できる野心的なプラットフォームが登場したことになる。このシステムはPythonのアプリケーション・サーバ、BigTableへのデータベース・アクセス( ここここで予期されていた)、GFSデータ・ストレージ・サービスから構成される。

一見した印象では、Amazonが提供する S3(ストレージ)、EC2 (バーチャル・サーバ)、SimpleDB(データベース)を含む一連のウェブ・サービスと正面から対抗するライバルのように思える。

しかし、Amazonのウェブ・サービスが、本質的には独立したいくつかのサービスであり、デベロッパー の選択によってそれらを適宜組み合わせて利用できるという、「ゆるい結合」のアーキテクチャーであるのに対して、Googleのアーキテクチャーは、柔軟性には欠けるがもっと密接に統合されている。たとえば、AmazonではストレージにS3を利用した場合、それ以外の部分では他のどんなサービスを利用してもかまわない。ところがGoogleの場合は、ひとたびBigTableを利用したら、このデータベースにアクセスするにはGoogleのバーチャル・サーバー向けにPythonのスクリプトを書かねばならない。これによって初めてウェブからBigTableにアクセスできるインタフェースが開発できる。

つまりどういう意味かといえば、デベロッパーが「Google App Engine」を利用するとしたら、一から十までアプリケーションの一切合財をGoogleのリソースの上に置かねばならないということだ。対照的に、Amazonは「定食」ではなくアラカルトの一品料理的なアプローチをとっているので、デベロッパーは使いたいリソースだけを選んで利用することができる。

Googleのプロダクト・マネージャー、Tom Stockyは、今日、私のインタビューに答えて新しいサービスを解説してくれた。デベロッパーは、単にPythonコードをGoogleにアップロードするだけでアプリケーションを公開することができ、トラフィックその他のアクセス解析を含めてマルチ・プラットフォームのデスクトップ・アプリケーションからモニターすることができる。

Googleによる解説:

今日われわれは「Google App Engine」のプレビュー版をリリースした。これはGoogleのコンピューティング・インフラにホストされるスケーラブルなウェブ・アプリケーションを構築するためのデベロッパー向けツールである。このツールは、ウェブ・デベロッパーのシステム管理とメンテナンスの労力を軽減し、アプリケーションの開発と拡大に努力を集中できるようにするのが目的だ。

Google App Engineを利用することでデベロッパーは以下のようなメリットを得る

  • コードを一度書くだけですべてのプラットフォームで作動する。OS等が異なる複数のプラットフォ-ムのコンピュータに対してウェブ・サービスとデータ・ストレージを提供するのは大幅に時間と金を食う作業になりがちだ。Google App Engineは必要とされる資源をウェブ・アプリケーションへのアクセスに応じてダイナミックに提供し、公開までの労力を大幅に軽減する。デベロッパーはコードを一度書くだけでよい。あとの作業はGoogle App Engineがすべて処理する。
  • 突発的なトラフィックにも対処できる。 ウェブ・アプリケーションに人気が出た場合、スタートアップから大企業に至るまで、どんなサイズのアプリケーションでも突然のアクセス増加によって処理が追いつかなくことがありえる。そこで年に数度もシステム全体の書き換えを余儀なくされることも珍しくない。Googleの自動複製と負荷分散システムに加えて、Bigtableデータベースその他スケーラブルなコンピューティング・インフラを利用することによりGoogle App Engineは1ユーザーから100万ユーザーまで容易かつ自由自在にスケール可能となっている。
  • Googleの他のサービスに容易に統合できる。新しいサービスを開発するつど、ユーザー認証やメールサービスのようなアプリケーションをデベロッパーがスクラッチで開発することは不必要でもあれば望ましくもない。 Google App Engineを利用するデベロッパーはGoogleの広汎なサービスへプラグ&プレイでアクセスできるビルトインAPIを利用してシンプルに重要な機能を実現できる。

Google App Engine―ベータ版の制限

このサービスはベータ版としてローンチされているため、利用にあたっていくつかの制限がある。

まず、サインアップの先着順で1万組のデベロッパーだけがアプリケーションを公開することができる。

このサービスはベータ期間中は完全に無料だが、利用の規模に上限がある。ストレージ容量の上限は500MB、CPU時間は1日あたり 2億MHz、転送量は1日(双方向で)10GBとなっている。われわれの聞いたところでは、これは平均的ウェブ・アプリケーションの月500万ページビューに相当するそうだ。ベータ期間が終了した後は、これらの制限は撤廃されるが、デベロッパーは制限を超え
分について料金を支払うことになる。Googleはサービスの料金体系についてはまだ明らかにしていない。

現在課せられているもう一つの制限は、アプリケーションの開発言語がPythonに限られていることだ。Pythonは現代のウェブ・アプリケーションを開発する上で広く用いられている言語だが、RubyやPHPを始め、他にもポピュラーな言語は多い。GoogleではPythonはサポート言語の手始めに過ぎず、アーキテクチャーは全体として特定の言語に対して中立だとしている。Googleが当初まずPythonをサポートしたのは理にかなっている。Googleが部内で利用しているスクリプト言語がPythonなのだ。(さらにPythonの生みの親のGuido van Rossumを2005年に採用している)。

アップデート:ローンチ・イベントでGuido van RossumがApp Engineを解説しているビデオ。

[原文へ]

(翻訳:Namekawa, U)