InfoQ

News

Cloud ToolsはAmazon EC2上にJava EEを届ける

作者 Dionysios G. Synodinos, 翻訳者 佐野 徹郎 投稿日 2008年6月13日 午前4時33分

コミュニティ
Java,
Architecture
トピック
仮想化,
データアクセス,
クラウドコンピューティング
タグ
EC2,
Amazon

「POJOs in Action」(source)の著者であるChris Richardson(source)は、AmazonのEC2(Elastic Computing Cloud)上でJava EEアプリケーションのデプロイおよびテストを行うためのツールのセットであるCloud Tools(source)を、Apache License 2.0(source)のもとでリリースした。

Cloud Toolsには主に3つのパーツがある。

  • Tomcatを実行し、EC2Deployが動作するように設定された、AMIs(Amazon Machine Images)
  • 中心的なフレームワークであるEC2Deploy
  • EC2にWebアプリケーションをデプロイするために、EC2Deployを利用するMavenプラグイン

Chris Richardsonはブログで、なぜCloud Toolsを作成したのか(source)について述べた。

コンピュータハードウェアは伝統的に希少で、高価なリソースです。コンピュータが利用されはじめたころ、開発者は一台のマシンを共有しなければなりませんでした。今日では通常、それぞれの開発者は自分のマシンを持っていますが、開発者が一台以上のマシンを持つことは稀です。これは、パフォーマンステストを実行するために、しばしばマシンをかき集めなければならないことを意味しています。同様に、プロダクション環境の一部を複製するだけでも、大変な作業です。しかし、AmazonのEC2(Elastic Compute Cloud)では、事態は大きく異なります。Linuxサーバのセットは、今やWebサービスだけで呼び出せます。サーバの種類に応じて、あなたは最大20のサーバごとに、1時間あたり10-80セントを支払うだけです!それ以上の先行費用や、マシンを購入したり設定するために待つこともありません。

エンタープライズJava開発者がEC2を利用しやすくなるように、私はEC2Deployを作成しました。それは、Amazon EC2サーバのセット上に、エンタープライズJavaアプリケーションをデプロイするための、Groovyフレームワークです。EC2Deployは、EC2インスタンスのセットを起動するためのAPIを、簡単に利用できるようにします。MySQL、Apacheおよび一つ以上のTomcatサーバの設定。そして、一つ以上のWebアプリケーションのデプロイ。それはさらに、JMeterを実行して、パフォーマンスメトリクスを収集することもできます。

プロジェクトのページには、EC2にアプリケーションをデプロイするために、Mavenプラグインをどのように利用するかの、短い記述がある。

Mavenプラグインは、Cloud Toolsを利用する最も簡単な方法です。一度、pom.xmlでプラグインを設定すれば、あなたのWebアプリケーションを「mvn cloudtools:deploy」で、EC2にデプロイすることができます。このゴールは以下を行います。
  • 指定した数のAmazon EC2インスタンスを起動する 
  • MySQLマスタデータベースを設定する。スキーマを作成し、データベース初期化スクリプトを実行する 
  • いくつかのMySQLスレーブを設定する(異なるAvailability Zoneを選択できる)
  • あなたのWebアプリケーションをEC2にアップロードする 
  • 一つ以上のTomcatサーバを設定し、あなたのWebアプリケーションをデプロイする
  • すべてのTomcatサーバで負荷分散するように、Apacheインスタンスを設定する

Cloud ToolsのMavenプラグインは、その他に以下のゴールもサポートします。

  • cloudtools:jmeter - 負荷テストを実行する 
  • cloudtools:redeploy - Webアプリケーションを再デプロイする 
  • cloudtools:dbsave - データベースのスナップショットをS3に保存する 
  • cloudtools:dbrestore - データベースをS3からリストアする 
  • cloudtools:clone - クラスタのコピーを作成する 
  • cloudtools:describe - クラスタを記述する 
  • cloudtools:list - 利用可能なクラスタを一覧する 
  • cloudtools:stop - クラスタをシャットダウンする 

永続的なストレージを追加したことで(source)、ハードウェアリソースの割り当ておよび管理のための伝統的なパラダイム上で、AmazonのEC2は勢いを増しているように見える。Cloud Toolsのようなソフトウェアの作成は、すべてのEC2ソフトウェアエコロジーの作成の始まりを意味するのかもしれない。

さらなるクラウドコンピューティングの情報は、http://www.infoq.com/jp/cloud-computingを参照してほしい。

原文はこちらです:http://www.infoq.com/news/2008/05/CloudTools

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。