連載
» 2009年06月10日 00時00分 公開

ユカイ、ツーカイ、カイハツ環境!(5):App Engine/AptanaなどJavaクラウド4つを徹底比較 (3/3)

[岡本隆史,@IT]
前のページへ 1|2|3       

【1】データベース

 GAEは、GAEの特徴であるBigtableをデータベースとして利用できます。そのほかのクラウドはMySQLを利用でき、Morph AppSpaceはMySQLに加え、PostgreSQLを利用できます。Morph AppSpaceはHA構成でデータベースを構築でき、障害が発生しデータベースが停止した場合でもフェイルオーバできる点が優れています。

【2】サポートフレームワーク

 理論的には、GAE以外は、JVMの設定なしにJava上で動作するフレームワークは動作します。表には、Webページ上で明確にサポートを表明しているフレームワークのみ記述しましたが、そのほかのフレームワークも動作すると考えられます。

 ただし、各プラットフォームとも、アプリケーションサーバのJVM起動時の設定(例えば、javaagentなど)を行うようなものは動作しません。さらに、GAEは、I/Oやスレッド周りのAPIへのアクセスが制限されており、そのようなAPIを利用するフレームワーク、もしくはフレームワークの機能の一部は動作しないので、注意が必要です。

 GAEは特有のデータベースであるBigtableをJDOやJPAといった標準のAPIで利用できるようになっています。

【3】統合開発環境サポート機能

 GAEはEclipse上でのGWT開発サポート機能、およびGAEへのデプロイ支援機能が提供されています。Aptana Cloudはデータベース開発を支援する機能やJavaScriptサポートなど、高度なアプリケーション開発支援機能が提供されています。

 StaxやMorph AppSpaceは、特に統合開発環境などは用意されていません。Eclipseを利用して開発したアプリケーションをコマンドラインやAntタスクを利用しでデプロイします。

【4】アカウント連携機能

 GAEのみGoogleアカウントのアカウントを利用して、Webアプリケーションへの認証ができます。

【5】ジョブ実行機能

 GAEのみ、クーロンによるジョブ実行機能が提供されています。

【6】メールサーバ機能

 GAEは、GAEの提供するSMTPサーバを利用してメールが送信できます。Aptana Cloudは、サーバ上にPostfixを起動でき、サーバ上のPostfixを経由してメールを送信できます。

【7】バックアップ機能

 Morph AppSpaceやStaxはデータベースのバックアップの機能を備えています。Staxはボタン1つで、データベースのスナップショットをバックアップできます。Aptana Cloudはデータベースに加え、ファイル、Subversionのリポジトリのバックアップができます。

【8】モニタリング機能

 各クラウドとも、CPUやメモリなどのリソース使用量やアクセス数などのモニタリング機能を持っています。それぞれの画面イメージを図5〜8に示します。

図5 GAEのリソース表示画面(図1の再掲) 図5 GAEのリソース表示画面(図1の再掲)
図6 Aptana Cloudのリソース表示画面 図6 Aptana Cloudのリソース表示画面
図7 Morph AppSpaceのレポート画面 図7 Morph AppSpaceのレポート画面
図8 Staxのリソース表示画面 図8 Staxのリソース表示画面

【9】スケールアウト機能

 クラウドのウリの1つとして、アプリケーションを柔軟にスケールアウトできる点がしばしば強調されています。

 GAEは動的にスケールアウトし、ユーザーがスケールアウトのための設定を気にする必要がありません。Morph AppSpaceとStaxは、スケールアウトする構成(サーバ数)を指定する必要があります。Aptana Cloudはスケールアウトの機能はありません。

【10】チーム開発支援機能

 いずれのクラウドもマルチアカウントに対応しており、複数の開発者によるクラウド上のアプリケーションの操作をサポートしています。

【11】バージョン管理機能

 Aptana CloudやGAE、Staxはアプリケーションのバージョンを管理する機能を提供しており、アプリケーションをデプロイするごとにバージョンを付けて管理しています。さらに、GAEとAptana Cloudはステージング機能に対応しており、試験用のバージョンと正式リリース用のバージョンを分けてアクセス可能であり、試験用アプリケーションとしてデプロイし試験した後で、正式リリースとしてアプリケーションを公開可能です。

 Aptana Cloudは、アプリケーションを作成すれば開発用のリポジトリも作成してくれるので、開発用のリポジトリを作成しなくても、すぐにチーム開発ができます。

【12】SLA

 SLAについては、公式ドキュメント上、Morph AppSpaceのみが99.9%の稼働率を保証しています。

「Javaのクラウド」というインパクト

 本稿では、Javaアプリケーションを実行できる4つのクラウドについて紹介してきました。ひとことでいうと、Javaアプリケーションが利用できるクラウドといっても、各クラウドごとに特性が異なることが理解できたと思います。

 Javaに限らず、一般的なクラウドで提供されるPaaSの特徴として、下記のような点が挙げられます。

  • 必要なときに、すぐにサーバを用意できサービスが開始できる。サーバの場所や設備など、悩まなくてもよくなる
  • 利用した分だけ課金され、無駄な設備投資を防げる。アクセスが増えたとき、あるいは増えると予想されるときにサーバを増やし、アクセスが落ち着くと減らせる
  • サーバのバックアップや多重化が簡単にでき、システム設計が簡単になるとともに、運用管理コストを削減できる
  • 開発環境との連携により、開発環境上で作成、テストしたコードを簡単にクラウド上へデプロイ可能

 日本のプログラマの人口が多いJavaでこれらのクラウドのメリットが享受されるようになったことは、クラウドの普及拡大に大きなインパクトを与えることでしょう。今後、読者の皆さんがクラウドを利用するうえでの参考になればと思います。


「ユカイ、ツーカイ、カイハツ環境!」バックナンバー
前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。