Google App EngineによるWebアプリケーションのスケールアップ丸山先生レクチャーシリーズ 第2回リポート

丸山先生レクチャーシリーズ 2008-2009 第2回に登壇したグーグルの石原直樹氏と本多正明氏は、Googleが考えるクラウドのキー、Google App Engineについて講演を行った。

» 2009年01月07日 05時00分 公開
[渡邉利和,ITmedia]

 2008年12月16日に開催された「丸山先生レクチャーシリーズ 2008-2009 第2回」ではGoogleのクラウドプラットフォームであるGoogle App Engineを紹介するセッションも設けられた。Google自身が提供するWebアプリケーションのバックエンドシステムとして利用されているGoogle App Engineは、一般向けに無償公開されており、開発者登録を行うことで自分のWebアプリケーションをこのクラウドプラットフォーム上ですぐに稼働させることができる。

Webアプリケーションのスケールアップのためのクラウド

 Google App Engineについて講演を行ったのは、グーグルのデベロッパー アドボケイトの石原直樹氏と、同社のソフトウェア・エンジニアの本多正明氏。両氏は「Google App Engine−Cloud Computingのキー」と題してデモを交えながらGoogle App Engineを紹介した。

Python以外の言語のサポートなど、さらに広範な開発者の支持を得るためのロードマップを紹介する石原氏

 石原氏は「Googleが考えるCloudはApp Engineがキーとなる」と語る。同氏は現在のWebアプリケーションの課題として、いわゆる“LAMP”(Linux、Apache、MySQL、PHP)といったソフトウェアスタックを用意する手間や、モニタリングやキャッシュといったプラットフォームサービスの準備、稼働状況の監視や運用管理といったさまざまな付随作業の負担が大きいことや、スケールする際にも人手による解決を要する点を指摘。一方、Google App Engineでは、背後にスケーラビリティを確保する仕組みが用意されているが、アプリケーション開発者や利用者はそれを意識する必要はないという点が特徴だと話す。

分散データストア

 Google App Engineでは、分散データストアとして“Bigtable”を利用する。BigtableはKey-Value型データベースで、大量データ処理のために設計されたものだという。大量のデータを高速に処理することができる半面、従来型のRDB/SQLで実現できるような複雑な処理はサポートしていないが、クエリ文の文法はSQL風になっているなど、開発者に配慮されたインタフェースが提供されている。

 Bigtableの格納されたデータは、“分割された、ソート済みの巨大な配列”としてアクセスできる。スケーラブルなアーキテクチャであり、その能力は「多くのGoogleサービスで実証済み」(本多氏)という点が利用者にとっての魅力となる。

アプリケーション開発

本多氏 「Bigtableは多くのGoogleサービスで実証済み」と話す本多氏

 Google App Engineでは、現在は開発言語としてPythonをサポートしている。主要なライブラリもサポートされており、クラウド環境でのアプリケーション開発に必要とされる機能は一通りそろっているという。開発者向けのインタフェースとしてWebベースの管理画面が提供されており、ここから自作のPythonプログラムを“アップロード”するだけで、Google App Engineを利用してWebアプリケーションを稼働させることができる。Pythonがスクリプト言語であることから、アップロードされたアプリケーションの変更も容易で、変更が即座に反映されるなど、Webアプリケーション実行環境として、ローカルでの実行とほぼ変わらない使い勝手を実現していることもデモを通じて紹介された。

 なお、現時点ではGoogle App Engineの利用制限として「開発者ごとのアプリケーション数:10」「アプリケーションごとのストレージ:500Mバイト」「アプリケーションごとのファイル数:1000」「ファイルのサイズ:1Mバイト」「10Gバイト/日、650K HTTP/日」といった制限が設定されているという。

 そんなGoogle App Engineの今後のロードマップとしては、「巨大なファイルを保存、利用するサービス」「巨大なデータをデータストアにインポート/エクスポートするためのツール」「課金システム:開発者の必要なリソースに応じて課金」「Python以外の言語のサポート」「可用性モニタリングサイト」などの実現が計画されているという。

 ほかの講演とはやや趣が異なり、質問者にGoogle App Engineのロゴ付きTシャツがプレゼントされるなど、開発者会議のような雰囲気で進行した講演となったが、Webアプリケーションのスケーラビリティ確保に悩む開発者にとっては直接的な解決策が示されたのではないだろうか。

講演後にはQ&Aの時間を設け、会場からの質問に答える石原氏。用意したGoogle App Engineのロゴ付きTシャツが質問者に贈られていた

本講演にかんするファイル


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ