Googleのクラウド開発⁠運用環境でシステム開発を試してみよう

ITの世界で最近、もっともよく聞かれるキーワードと言えば、⁠クラウドコンピューティング」です。これは物理的なコンピューターシステムの所在を意識することなく、インターネットの先から必要なリソースを借りて利用できるサービスのことです。ここでは、こうしたクラウドベースのシステム開発・運用を、コストゼロから気軽に試すことができるGoogle App Engine(以下、GAE⁠⁠ について紹介します。

クラウドには、SaaS(Software as a Service⁠⁠、PaaS(Platform as a Service⁠⁠、IaaS(Infrastructure as a Service)の大きく3種類があり、GAEはこのうちPaaSにあたります。PaaSは、ソフトウェアを構築、運用させるための土台となるプラットフォームをインターネット経由のサービスとして提供、販売するもので、GAEの場合は、Googleのインフラ上で稼働するWebアプリケーションサーバと、BigTableと呼ばれる分散データベースシステムによるストレージを組み合わせたWebアプリケーション構築プラットフォームとなっています。2008年4月に開発言語としてPythonを採用したサービスがスタートし、2009年4月には2番めの言語としてJava(Google App Engine for Java)が登場しました。日本ではPythonに比べてJavaには数多くエンジニアが存在するため、Java対応によってGAEはエンタープライズアプリケーションの分野でも本格的に注目され始めています。⁠Google App Engine for Java[実践]クラウドシステム構築』でも、Java版にフォーカスして解説しています。GAEによって、スケーラビリティの高いシステムをすばやく、安価に導入することができ、システムの規模に応じて処理能力も自動的にスケールするため、コストを見積もりにくいシステムにも適しています。

「制約」の理解がクラウド開発・運用のポイント

システム構築の流れを大きく変える可能性のあるクラウドですが、GAEをはじめとするクラウド開発では従来の手法が通用しないことがわかってきました。これは、クラウドという広大ながらも限られたリソースを多くの人で共有するルールが必要なためです。

『Google App Engine for Java[実践]クラウドシステム構築』では、こうしたGAEの制約や、それらとうまくつきあうための実践的な利用方法を、著者による実際の体験をもとに紹介しています。