Amazonクラウド、ついにJava対応PaaSの「Beanstalk」発表。Ruby on Rails対応も準備中
Amazonクラウドが発表した「AWS Elastic Beanstalk」は、まぎれもなくJavaのPaaS(Platform as a Service)であり、グーグルのGoogle App Engine、セールスフォース・ドットコムのForce.com/VMforceと並ぶ、企業向けのJava対応クラウドプラットフォームサービスとなるでしょう。Amazonクラウド自身もBeansTalkの説明ページでこれがPaaSであると紹介し、PaaSへの参入を認めています。
しかも今回のJava対応に続き、Ruby on Rails対応を進めていることもプレスリリースの中で明らかにされています。AmazonクラウドはIaaSのサービスを充実させる段階を終え、PaaSへと大きく踏み出しました。
PaaS内部の設定を自由に行えるのが特徴
BeanstalkはAmazonクラウド上の以下に挙げた複数のサービスの集合体です。簡単にいえば、通常のアプリケーションとして開発したJavaアプリケーションをBeanstalkでAmazonクラウドにデプロイすると、負荷に応じて自動的にスケールしつつ、稼働状況を監視してくれる環境を自動的に提供してくれる、というもの。
- サーバ(Amazon EC2インスタンス)
- コンテナ(サーバ上のJavaVMとTomcat)
- ロードバランサー
- オートスケーリング(Amazonクラウドのスケーリングサービス)
- ノーティフィケーション(Amazonクラウドの通知サービス)
Javaアプリケーションの開発とデプロイにはEclipseのプラグインが提供されており、Eclipseから簡単に開発、デプロイ、実行が行えるようになっています。
管理コンソールからは、インスタンスの種類、ロードバランサーやオートスケーリングの設定など上記のサービスが集中的に管理できるようになっており、PaaSの内部について利用者が自由に構成できる点が特徴といえるでしょう。
課金はインスタンスの大きさや、利用するサービスごとに設定された利用料やデータ転送量などに応じて行われ、Beanstalk自体の追加料金は発生しません。
データベースサービスの統合が今後の課題
BeanstalkはPaaSの領域に踏み込んだサービスですが、まだ登場したばかりの荒削りなサービスに見えます。そのもっとも大きな要因は、データベースのサービス化が十分でないところにあります。
AmazonクラウドにはNoSQLの「Amazon SimpleDB」やMySQLを用いた「Amazon RDS」などのデータベースサービスを提供していますが、Beanstalkの資料を見る限り、これらのデータベースに対する自動的なスケーリングや連動した運用監視までは十分に統合されていません。
クラウドの利用者、開発者にとってもっとも面倒で手間のかかる部分がデータベースのスケーリングや運用であり、Benastalkが本格的なPaaSと見られるには、データベースサービスとの統合は欠かせない要素です。
Ruby on Rails対応がAmazonクラウド進化のカギ
そこで注目すべきは、Beanstalkのプレスリリースの最後に、Ruby on RailsのPaaSを提供しているEngine Yard CEOのJohn Dillon氏が寄せた次のコメント。
We’re working with AWS to provide an Elastic Beanstalk Ruby on Rails container that leverages the optimized Engine Yard stack which has been battle-tested by thousands of high-growth companies.
私たちはBeanstalk Ruby on Railsコンテナの提供をするべくAmazon Web Servicesと開発を進めています。それは何千という高成長企業によって試されてきたEngine Yardのスタックを生かしたものになるでしょう。
Ruby on Railsを実行するにはデータベース環境が必須です。つまりこれは、近い将来BeanstalkがRuby on Railsに対応すると同時に、データベース環境もサービスに統合することを示しています。
ビジネス向けにデータベースサービスを備えたJava対応PaaSは、昨年、セールスフォース・ドットコムとVMwareが共同で「VMforce」を発表していますが、まだプライベートベータの状態。グーグルもGoogle App Engine for Businessを発表していますが、こちらも昨年秋登場の予定が、今年の第2四半期へと延期されています。
もしもAmazonクラウドがこれらに先んじてBeanstalkのRuby on Rails対応とデータベース対応を発表することになれば、AmazonクラウドはJavaとRubyを同時にサポートし、データベースサービスをも提供する唯一のメジャーなPaaSベンダとして大きな存在感を示すことになるでしょう。