GAEは、GAEの特徴であるBigtableをデータベースとして利用できます。そのほかのクラウドはMySQLを利用でき、Morph AppSpaceはMySQLに加え、PostgreSQLを利用できます。Morph AppSpaceはHA構成でデータベースを構築でき、障害が発生しデータベースが停止した場合でもフェイルオーバできる点が優れています。
理論的には、GAE以外は、JVMの設定なしにJava上で動作するフレームワークは動作します。表には、Webページ上で明確にサポートを表明しているフレームワークのみ記述しましたが、そのほかのフレームワークも動作すると考えられます。
ただし、各プラットフォームとも、アプリケーションサーバのJVM起動時の設定(例えば、javaagentなど)を行うようなものは動作しません。さらに、GAEは、I/Oやスレッド周りのAPIへのアクセスが制限されており、そのようなAPIを利用するフレームワーク、もしくはフレームワークの機能の一部は動作しないので、注意が必要です。
GAEは特有のデータベースであるBigtableをJDOやJPAといった標準のAPIで利用できるようになっています。
GAEはEclipse上でのGWT開発サポート機能、およびGAEへのデプロイ支援機能が提供されています。Aptana Cloudはデータベース開発を支援する機能やJavaScriptサポートなど、高度なアプリケーション開発支援機能が提供されています。
StaxやMorph AppSpaceは、特に統合開発環境などは用意されていません。Eclipseを利用して開発したアプリケーションをコマンドラインやAntタスクを利用しでデプロイします。
GAEのみGoogleアカウントのアカウントを利用して、Webアプリケーションへの認証ができます。
GAEのみ、クーロンによるジョブ実行機能が提供されています。
GAEは、GAEの提供するSMTPサーバを利用してメールが送信できます。Aptana Cloudは、サーバ上にPostfixを起動でき、サーバ上のPostfixを経由してメールを送信できます。
Morph AppSpaceやStaxはデータベースのバックアップの機能を備えています。Staxはボタン1つで、データベースのスナップショットをバックアップできます。Aptana Cloudはデータベースに加え、ファイル、Subversionのリポジトリのバックアップができます。
各クラウドとも、CPUやメモリなどのリソース使用量やアクセス数などのモニタリング機能を持っています。それぞれの画面イメージを図5〜8に示します。
クラウドのウリの1つとして、アプリケーションを柔軟にスケールアウトできる点がしばしば強調されています。
GAEは動的にスケールアウトし、ユーザーがスケールアウトのための設定を気にする必要がありません。Morph AppSpaceとStaxは、スケールアウトする構成(サーバ数)を指定する必要があります。Aptana Cloudはスケールアウトの機能はありません。
いずれのクラウドもマルチアカウントに対応しており、複数の開発者によるクラウド上のアプリケーションの操作をサポートしています。
Aptana CloudやGAE、Staxはアプリケーションのバージョンを管理する機能を提供しており、アプリケーションをデプロイするごとにバージョンを付けて管理しています。さらに、GAEとAptana Cloudはステージング機能に対応しており、試験用のバージョンと正式リリース用のバージョンを分けてアクセス可能であり、試験用アプリケーションとしてデプロイし試験した後で、正式リリースとしてアプリケーションを公開可能です。
Aptana Cloudは、アプリケーションを作成すれば開発用のリポジトリも作成してくれるので、開発用のリポジトリを作成しなくても、すぐにチーム開発ができます。
SLAについては、公式ドキュメント上、Morph AppSpaceのみが99.9%の稼働率を保証しています。
本稿では、Javaアプリケーションを実行できる4つのクラウドについて紹介してきました。ひとことでいうと、Javaアプリケーションが利用できるクラウドといっても、各クラウドごとに特性が異なることが理解できたと思います。
Javaに限らず、一般的なクラウドで提供されるPaaSの特徴として、下記のような点が挙げられます。
日本のプログラマの人口が多いJavaでこれらのクラウドのメリットが享受されるようになったことは、クラウドの普及拡大に大きなインパクトを与えることでしょう。今後、読者の皆さんがクラウドを利用するうえでの参考になればと思います。
Copyright © ITmedia, Inc. All Rights Reserved.