今回のテーマは「クラウド/グリッド」

昨年あたりから"クラウドコンピューティング"という単語が騒がれ出している。元々は米Amazon.comが2006年から「Amazon EC2」というサーバ環境をクラウドコンピューティングを通じて提供するサービスを行っていた(関連記事)。そして昨年、「Google App Engine」によってGoogleも同分野に参入した(関連記事)。Microsoftからは「Windows Azure」というサービスの提供が発表されている(関連記事)。

クラウドコンピューティングの台頭によって、Webサービスのあり方が変わりつつある。特にGoogle App Engineのように開発環境と実行環境がシームレスに連携している場合、開発者はハードウェアやネットワークのことを考える必要もなく、さらにデータベースも提供されているものを使うことで、簡単にWebアプリケーションが構築できるようになるのだ。

今回はそんなクラウドに注目してWebアプリケーション、オープンソース・ソフトウェア(OSS)を紹介したい。日本独自のものはないために馴染みが薄いかもしれないが、今後さらに注目が集まるのは間違いないのでチェックしてほしい。

今回紹介するOSS・Webアプリ
AWS Console』 Amazon.com公式のEC2管理サービス
Stax Networks』 Java/JRuby on Rails/Jython対応のクラウドサービス
GridGain』 Javaベースのオープンソース・グリッドコンピューティング
Aptana Studio』 PHP用の実行環境をクラウドで提供する



Amazon.com公式のEC2管理サービス

名称 AWS Console
URL https://console.aws.amazon.com/

個人でも使えるクラウドコンピューティングの代表として知られる「Amazon EC2」。サービス開始以来Web APIのみを提供し、管理画面などは提供してこなかったのだが、ついに公式のインスタンス管理ツールが提供された。それが『AWS Console』だ。

起動しているインスタンスの一覧、操作することが可能

AWS Consoleを使えば現在立ち上げているインスタンスの一覧やその終了や再起動、EC2用ストレージのEBSの作成、静的IPの設定などができる。もちろんAWS Consoleから新しいインスタンスを立ち上げることも可能だ。登録されているAMI(Amazon Machine Image)を検索して、簡単に立ち上げることができる。

公開されているインスタンスイメージの検索もできる

元々CUIからの操作が一般的で、それほど面倒に感じたことがなかったが、Webベースの管理インタフェースがあるととてもラクに感じられてしまう。Amazon EC2を使ううえで、CUIの操作が難点に感じていた人もこれで手軽にはじめられるようになりそうだ。




Java/JRuby on Rails/Jython対応のクラウドサービス

名称 Stax Networks
URL http://www.stax.net/

Stax』はJava向けのクラウドコンピューティングを提供しているWebサービスだ。Java向けとは言うものの、TomcatはもちろんのことJRuby on RailsやJython、Adobe ColdFusionといったWebアプリケーションの構築もできるようになっているので、ほぼ汎用的といっても過言ではない。

オンラインでWebアプリケーションのベースを作成する

専用のSDKを提供。ローカルコンピュータ上ではstax runというコマンドでアプリケーションを実行し、開発が終わったらstax deployコマンドでクラウドコンピューティング上にデータが転送され、Webサービスに反映されるようになる。ほとんどGoogle App Engineと同様の手軽さだ。

JRuby on Railsの実行例

Google App EngineがPythonに特化しているのに対して、StaxはJavaを使うことでJRubyやPython(Jython)にも対応した。言語を限定してしまうと開発者の層も狭まってしまう(特に日本ではPython開発者が少ないので)。広い開発者層を集めるにはJavaをベースにするのはとても良さそうだ。




Javaベースのオープンソース・グリッドコンピューティング

名称 GridGain
URL http://www.gridgain.com/

GridGain』はオープンソースのグリッドコンピューティング構築ソフトウェアだ。Javaを使って開発されている。サーバソフトウェアやWindowsやMac OS X、Linux向けに提供されており、Eclipse向けのライブラリも提供されている。

Mac OS X向けのインストーラ

特にWeb向けというわけではなく、実行内容をリモートに飛ばしてその結果を受け取ることができる。まさにグリッドコンピューティングを実現するシステムと言える。計算処理に時間のかかるものであっても、GridGainを使って無数のコンピュータ上(まさにクラウド)に行なわせることができれば瞬時に結果を得ることができるだろう。

グリッドを立ち上げたところ。ひとつのサーバ上で複数のグリッドが立ち上げられる

ハードウェアやネットワークの構築が必須になるので一般的ではないかもしれない。だが、ISP事業者やハードウェア資産を多数もつ企業、頑強なWebサービスを運営する企業にとってはGridGainを使えば新しいビジネスチャンスができるかもしれない。




PHP用の実行環境をクラウドで提供する

名称 Aptana Studio
URL http://www.aptana.com/

Aptana Studio』はPHP開発環境だ。そしてAptanaが提供するAptana Cloudと連携し、PHPの実行環境を利用することができる。IDEの開発環境を使って簡単にPHPによる実行環境が利用できる魅力は大きい。開発が終わって、Aptana Cloud上ですぐにサービスが提供できれば、サーバをレンタルしたりネットワーク構成を気にしたりする必要もなくなるのだ。

Aptana Studioを使ってPHPによるWebアプリケーションを開発する

Aptana Studioはオープンソース・ソフトウェアだが、Aptana Cloudは従量課金になっている。メモリ256MB/HDD 5GBで1時間4セントとなっている。サーバのグレードを上げると料金も上がっていく。SSHやMySQLも提供されており、可能な操作は数多い。

実行結果。phpinfoでサーバにインストールされている拡張などを確認できる

はじめにインストールされている拡張は数多く、画像の操作やXML-RPC、Exifなども利用できる。将来的にはRailsやPython、Jaxer(サーバサイドJavaScript)にも対応する予定となっている。

いかがでしたか?

今回は特にクラウドコンピューティングを提供するサービスに注目して紹介した。クラウドコンピューティングのサービスを利用すれば、Webシステムの開発者にとっては面倒なハードウェアやネットワークを気にすることなく開発に集中できるようになる。しかも従量課金型のサービスが多く、初期登録料もなく登録してすぐに利用できるのも魅力だ。

データベースサーバ、Webアプリケーションサーバ、キャッシュサーバなど複数のサーバ構成で構築される大型のWebサービスの場合はクラウドコンピューティングでは簡単にはいかないケースがあるかもしれない。だが初期の状態でそこまでトラフィックがのぞめるかどうかの算定は難しい。むしろできるだけコストをかけずに立ち上げてみたいということの方が多いのではないだろうか。そのとき、クラウドコンピューティングは強い味方になるはずだ。

トラフィックの増減にあわせてサーバ構成を柔軟に切り替えられる(むしろ気にする必要がなくなる)クラウドコンピューティングを知れば、Webサービスの幅がもっと広がるはずだ。

著者プロフィール:MOONGIFT 中津川 篤司(なかつがわ あつし)

1978年生まれ。オープンソース紹介サイト「MOONGIFT」管理人。プログラマ、SE、ITマネージャを経て、オープンソースのビジネス活用を推進する。現在は独立し、Webサービスのコンサルティング、プロデュースを行う。