Amazon Web Services (AWS)チームはElastic BeanstalkサービスへのRubyサポートを追加し、最もマルチ言語対応なクラウドプラットフォームの一つが利用可能になった。さらに、AWSは Virtual Private Cloud (VPC)でのElastic Beanstalkのサポートの提供を開始し、顧客はプライベートなWebアプリケーションを配布・管理することができるようになる。
AWS Elastic Beanstalkはサーバーのプロビジョニングやロードバランシング、スケーリング、モニタリングを自動的に扱えるプラットフォームにWebアプリケーションをデプロイしたい開発者向けのアプリケーション・コンテナ・サービスである。従来のPlatform-as-a-Service (PaaS)が提供しているものとは異なり、無料のAWS Elastic BeanstalkはInfrastructure-as-a-Service (IaaS)製品上のラッパーである。開発者や管理者はアプリケーションがデプロイされているAWSのインフラ層に直接アクセスすることができ、サーバー設定を変更したり、サーバーのログファイルにアクセスすることができる。ユーザーはサーバーOSやアプリケーションスタックを選択したり(更新したり)する事を含む様々なインフラに関連したタスクに対して責任を持つことができる。AWS Elastic Beanstalk は一つのコマンドですべてのWebサーバーを再起動したり、すべてのサーバーのログファイルを一括でアクセスしたり、すべてのノードに関するパフォーマンスを監視するといった事を含む多数のタスクの管理を自動化する。
Rubyサポートに関するブログの投稿では、AWSチームはRubyアプリケーションはPassengerアプリケーション・サーバー上で動作しており、「ローカル環境で開発し、テストしたアプリケーションコードに変更を加えることなく、Elastic Beanstalk上にデプロイが可能です」と述べている。Rubyを追加することにより、現在AWS Elastic Beanstalkは5つの鍵となるWeb開発言語/プラットフォームをサポートする。AWS Elastic Beanstalkは伝統的なPaaSではなく、AWSはこれをPaaSと呼ぶことを嫌っている。何故ならば、インフラのコントロールの権限はユーザーに残されているからである。しかし、主要なPaaSプロバイダーの評価によると、ポピュラーなプログラミングフレームワークを用いる開発者やアプリケーションに対してAWSが最も広いサポートを提供しているのは明らかである。逆に、VMwareのオープンソースのCloud Foundryが最も広い言語のランタイムを維持しているのは、コミュニティーによる貢献によるものである。Cloud Foundry.comはJava、Ruby、Nodeをサポートし、ActiveStateはPythonを追加し、Tier 3は.NETを追加し、AppFogはPHPを追加した。
AWS Elastic Beanstalk | Google App Engine | Windows Azure Web Sites | Cloud Foundry | Heroku | |
Java | x | x | x | x | x |
Ruby | x | x | x | ||
PHP | x | x | x* | ||
Python | x | x | x | x* | x |
.NET | x | x | x* | ||
Node.js | x | x | x | ||
* Cloud Foundryのこれらの言語に対するサポートはコミュニティによって提供される。 |
Elastic BeanstalkアプリケーションはパブリックAWSクラウドでのみ以前は利用できたが、Amazon VPC内にプライベートにデプロイすることができるようになった。AWSチームはこの変更に関して以下のように述べている。
クラウド内でプライベートな仮想ネットワークを定義し、構築することが可能になりました。そして、そのネットワークをVPN接続を用いて企業ネットワークに接続させることができます。これによりElastic Beanstalk上で多くの新しいタイプのアプリケーションを動作させることが可能になります。例えば、Elastic Beanstalk上でトラブルチケットアプリケーションやレポートサイトのようなイントラネットアプリケーションを動作させることができます。
…
VPCが設定できると、Elastic BeanstalkにVPC IDとサブネットIDを設定するだけで、アプリケーションが自動的にVPC内に配置されます。
AWS Elastic Beanstalkは将来的に新しい言語やフレームワークを追加できるように設計されています。このIaaSとPaaSの間にあり、パブリックPaaSとプライベートPaaSとの間にもあるようなものが、クラウドの世界でユースケースの数を増やしていこうとしているクラウドプロバイダーにとってのトレンドになるかもしれない。