Java開発者が知らないと損するPaaSクラウド8選ユカイ、ツーカイ、カイハツ環境!(25)(2/3 ページ)

» 2011年08月29日 00時00分 公開
[岡本隆史,@IT]

【4】.NETだけじゃない「Windows Azure」のJavaサポート

 Windows AzureのJavaサポートについては、「WindowsAzure4j」としてAzureのストレージをJavaから利用するためのSDKを提供していました(詳細は、連載第14回「AzureのストレージをJavaで扱えるWindowsAzure4j」をご覧ください)。

 WindowsAzure4jでは、あくまでAzureのストレージ操作を行うAPIの提供でしたが、現在では、Tomcatで動作するJavaのWebアプリケーション自体をWindows Azure上で動作させる下記のプロダクトがリリースされています。

Tomcat Solution Accelerator

 Windows Azureでは、アプリケーションのデプロイは、Windows Azureのデプロイ用パッケージファイルにより行いますが、CUIベースで、JDK/TomcatをWindows Azureにデプロイして動作させるパッケージも作成できるようになりました。

Windows Azure Starter Kit for Java

 初心者が簡単にWindows Azure上でJavaのWebアプリケーションを動作できるツールで、Eclipseプラグインとして提供されています。Eclipse上で開発したWebアプリケーションをTomcat/JDKを含めてパッケージ化し、Windows Azureにデプロイできます。

 Tomcat Solution Acceleratorに比べGUIで直感的にパッケージを作成できるようになっています。

TomcatやJDKのバージョンは自由に選択

 上記2つのツールは、あくまでJDKやTomcatをWindows Azureにデプロイするパッケージを作成するためのツールなので、TomcatやJDKのバージョンは自由に選択できます。

 TomcatやJDKごとパッケージング化するという意味では、今回紹介したPaaSの中で最もIaaSに近い存在といえるかもしれません。


 また、他のPaaSのようにオートスケールの仕組みはありませんが、Windows AzureのAPIを利用し、オートスケールするロジックを自前で実装可能です。

【5】IaaSの雄「AWS」のJava向けPaaS対応


 AWS Toolkit for Eclipseにより、EC2上で仮想マシンの起動とロードバランサ、Tomcatの設定、アプリケーションのデプロイを行う疑似的なPaaSの機能は提供されていました(連載第12回「AWS ToolkitでTomcatクラスタをAmazon EC2上に楽々構築」を参照)。

 その後、本格的なPaaSプラットフォームである「Elastic Beanstalk」が提供され、PaaSプロバイダの仲間入りを果たしました。Beanstalkにより、EclipseやWebコンソールからのアプリケーションの簡単なデプロイやオートスケールを実現します。

 Elastic Beanstalkの詳細については、連載第23回「AWSの自由自在なPaaS『Elastic Beanstalk』とは」などをご覧ください。

【6】Node.jsなど先端技術を採用した「Cloud Foundry」

 「Cloud Foundry」は、ヴイエムウェアが開発、公開したPaaSです。Javaのアプリケーションを実行できる他、Node.js(サーバサイドJavaScript)やRubyのアプリケーションも実行できます。


 Cloud Foundryは、他のPaaSと異なり、PaaS基盤自体を公開し、次の3つのサービス/プロジェクトを公開しています。

  • CloudFoundry.com
    PaaSのホスト環境。利用ユーザーがWebアプリケーションのデプロイやデータベースの作成が可能
  • CloudFondry.org
    CloudFoundryの基盤を開発する開発者とコミュニティメンバによるオープンソースプロジェクト。CloudFoundryがオープンソースで公開されている
  • Micro Cloud Foundry
    VMイメージで提供するPaaSの実行環境。VMwareがあれば、デスクトップマシンに簡単にCloud FoundryによるPaaS環境を構築できる。主にCloud Foundryの開発者向け

 先日、Micro Cloud Foundryのβ版リリースの発表が話題になりましたが(参照:

VMware、ノートPCのデスクトップでPaaSを利用できる「Micro Cloud Foundry」を発表)、ここでは、サービスで利用できるCloudFoundry.comに主眼をおいて特徴を紹介します。

複数の言語/フレームワークに対応したPaaS基盤

 Spring(Java)、Sinatra/Rails(Ruby)、Node.js(サーバサイドJavaScript)などのフレームワーク・言語をサポートします。Node.jsやSinatraをサポートしているところに先進性を感じます。

複数のデータベースのサポート

 データベースにMySQL、MongoDBRedisをサポートします。RDBMだけでなく、KVSとして利用できるMongoDBやRedisをサポートします。なおヴイエムウェアは、Redisの主任プログラマであるサルバトール・サンフィリポ氏を雇用しています。

CUIの提供

 コマンドラインからPaaS上にアプリケーションを操作するvmcが提供されています。vmcはデプロイするアプリケーションの言語・フレームワークを判定し適切にデプロイしてくれます。

GUIの提供

 Eclipse上で動作する「Cloud Foundry Integration」プラグインが提供されています。Cloud Foundry上のアプリケーション・サーバをEclipseのWebアプリケーション開発環境であるWTPのサーバビューから操作できます。

図2 Eclispeプラグイン「CloudFoundry Integration」によるCloud Foundryの利用 図2 Eclispeプラグイン「CloudFoundry Integration」によるCloud Foundryの利用

 また、Cloud FondryのPaaSの機能ではありませんが、Cloud Foundryは複数のIaaSのサポートを目指しています。

 次ページでは、残りの2つを紹介し、最後にJavaのPaaSクラウドの傾向を分析します。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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