« AWS Elastic Beanstalkの内側 | メイン | 【AWS発表】 Amazon Simple Email Serviceの発表 »

【AWS発表】 AWS Elastic Beanstalkの発表

本日は、非常にエキサイティングな発表を皆様にお伝えすることができます。この発表を私自身も長い間心待ちにしておりました。これまでもAWSは、エンジニアが、強力で拡張可能なWebアプリケーションを簡単に素早く開発することができる様々なクラウドサービスを提供してきました。

今回発表いたしましたAWS Elastic Beanstalkは、どのような規模のWebアプリケーションにおいても、その作成、デプロイ、運用を、さらに簡単にします。皆様にとっては、単純に作成したコードをアップロードするだけで、AWSが後は全ての面倒をみます。我々が、そのWebアプリケーションを稼働するのに必要な全てのAWSリソース(Amazon EC2 インスタンス、Elastic Load BalancerAuto Scaling Group)を作成し設定します。皆様のアプリケーションは、数分以内にAWSのクラウド上で立ち上がり稼働するのです。ロードバランシングやスケーリング、サーバーのキャパシティについて心配する必要がありません。

Elastic Beanstalkの名前の由来は、有名な物語である「ジャックの豆の木」に出てくる豆の木(Beanstalk)です。Elastic Beanstalkは、皆様が地面から空まで昇っていくのを助けるということです。もちろん、この豆の木(Beanstalk)は、数々の既存のAWSのサービスを組み合わせて作られており、魔法の豆からできているわけではありません。

Elastic Beanstalkを用いることで、アプリケーションのデザインや開発といった、よりクリエイティブで楽しいレイヤに集中することが出来ます。AWSがそのインフラストラクチャやソフトウェアスタックなどのレイヤの面倒をみます。しかも、既存のAWSサービスの上にElastic Beanstalkを組み上げているので、その内部の動きをも柔軟にコントロールすることが可能です。つまり、もし必要なら、Elastic Beanstalkがその内部で使用している、ロードバランサ(ELB)やサーバー(EC2)などを直接コントロールすることができるのです。

私自身もElastic Beanstalkのサンプルを走らせてみましたが、5分以下で実施することができました。そのサンプルアプリケーションは簡単に本番環境で稼働し、世界規模の負荷に対して規模拡張(スケール)する準備が整っています。自分自身のサンプルコードをコンパイルしてデプロイするのも全く手間がかかりませんでした。

もし皆様がPaaS(Platform as a Service)といった言葉を聞いたことがあるなら、こう思うかもしれません。「なるほど。AWSがPaaSのレイヤーを出してきたわけね。ところで、他のベンダーも前からPaaSを環境持ってるところがあるけけど、それとどう違うのだろう?」もちろん、多くの点で違っています(笑)。こちらが簡単なサマリーです。

  1. Elastic Beanstalkは、すでに実績のあるAWSインフラストラクチャの上で作られています。Amazon EC2、 Elastic Load Balancing、 Amazon CloudWatch、 Auto Scaling、 そしてその他のAWSサービスを最大限に活かしています。これまでにないほど簡単かつ素早くデプロイしながら、AWSが提供する経済性と拡張性を全て手にすることができるのです。
  2. Elastic Beanstalkでは、アプリケーションの色々な側面において、段階的にコントロールを強めることができます。まずは、幾つかのパラメーターを調整することからはじめられます(Elastic Beanstalk Console を参照)。アプリケーションにあわせて最適なRAMやCPUを選択するために、EC2のインスタンスタイプを選択できます。アプリケーションの問題解析をするために、直接、EC2インスタンスにログインすることもできます。さらに、デフォルトのElastic Beanstalk AMI (Amazon Machine Image)を使用し、それをカスタマイズして、Amazon Beanstalkに設定することもできます。この段階的なコントロールモデルより、アプリケーションの性質にあわせて、Elastic Beanstalkの使い方を調整することができます。
  3. Elastic Beanstalkは、複数の言語、複数のアプリケーション環境をサポートするようにデザインされています。沢山の環境を提供できますように、すでに複数のソリューションプロバイダと協業をしております。
  4. Elastic Beanstalkにおけるアプリケーションは、1つのEC2インスタンスでも稼働しますし、アプリケーションの状況にあわせて複数のEC2インスタンス上でプロビジョニングされます。Elastic Beanstalkで稼働するアプリケーションは、EC2インスタンスで稼働するアプリケーションと全く同じセキュリティのレベルを持ちます。
  5. Elastic Beanstalkを用いたアプリケーションとともに、通常のEC2インスタンスの上にデプロイしたサービスを組み合わせて使うことができます。その際に、Elastic Beanstalkのアプリケーションと同じリージョンでサービスを稼働することができますので、ネットワークレイテンシなどを心配する必要がありません。EC2上の既存のサービスに効果的にアクセスできるので、アーキテクチャ設計や実装においてより多くの選択肢を持つことができるでしょう。

つまり、アプリケーションをホストする際に完全にそのインフラストラクチャを気にしないで済むようにElastic Beanstalkを使うこともできますし、実際、私も多くのお客様がそのように使われると思っています。その一方で、お客様の中には、内部まで踏み込んでより詳細に使いこなしたい方もいらっしゃるでしょう。どちらも良いと思います。そして、その両方をサポートいたします。もし、皆様が、ディープに中身を知り尽くして使うことを選ばれた場合も、ドキュメントされていないコードで、ブラックボックスで何がどう動いているか分からない、といった場面に遭遇することもございません。皆様が気づかれるのは、Elastic Beanstalk AMIがAmazon Linux AMIをベースにしており、Apache Web Server、Tomcat、エンタープライズ版のJavaプラットフォームそして、完全にドキュメント化されたAWSサービスを使ってElastic Beanstalkが組み上げられている、ということでしょう。

 

今回の発表では、AWS Elastic Beanstalkにおいて、Javaのコードを書いてコンパイルし、WAR (web archive)としてパッケージしたものを、Tomcatの環境にアップロードすることが可能です。アップロードする際には、AWS Management Console(Web UIのマネージメントコンソール)のタブも使用可能です。

 

もちろん、このAWS Elastic BeanstalkにはAPIが装備されているので、AWS Elastic Beanstalk APIや、AWS Elastic Beanstalk command-line toolsを用いることで、既存の開発環境からAWS Elastic Beanstalkにアクセスすることもできます。我々は、すでにこのAPIを用いて、AWS Toolkit for Eclipseを拡張し、AWS Elastic Beanstalkのプラグインを実装しています。

 
今回のこの記事により、AWS Elastic Beanstalkに興味を持っていただけたなら幸いです。より詳細を知りたい方のために、詳細記事を下記に順次アップデートしていきますので、宜しくお願い致します。
下記の6つの詳細記事をUpdateいたしました(追記: 2011/01/19 19:13)。


玉川憲
Twitter: @KenTamagawa

追記: 今回のAWS Elastic Beanstalkも、2010年11月に発表したAWS無料使用枠の中で利用することが可能です。もし皆様のアカウントが11月以降に作成されたものであれば、比較的小規模なWebアプリケーションであれば24時間フル稼働でその無料使用枠の中で使用できるでしょう。詳細はこちら。 

コメント

トラックバック

この記事のトラックバックURL:
http://www.typepad.com/services/trackback/6a00d8341c534853ef0147e09f2f9e970b

【AWS発表】 AWS Elastic Beanstalkの発表を参照しているブログ:

Featured Event

2016年3 月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31