NetBeans 7.2ではじめるAmazonのクラウド

NetBeans 7.2の新機能紹介シリーズ。

おや、サービスウインドウに見慣れないものがあるぞ。
http://shin.cside.com/diary/2012/0421-01.png


クラウドの選択・・・だと?
http://shin.cside.com/diary/2012/0421-02.png


AWSの接続情報を入力する。
http://shin.cside.com/diary/2012/0421-03.png


追加された。
http://shin.cside.com/diary/2012/0421-04.png


次にプロジェクトの新規作成で、Webプロジェクトを作る。
その際にTomcatGlassfishなど選択できるが、そこでサーバーの新規追加を選ぶと…やつ(Beanstalk)が選択できる。
http://shin.cside.com/diary/2012/0421-05.png


コンテナタイプを選択できる。PHPも選べるが、PHPプロジェクトも対応しているかはわからない。テンプレートという項目もあるが選べない模様。
http://shin.cside.com/diary/2012/0421-06.png


追加された。
http://shin.cside.com/diary/2012/0421-07.png


AWSの管理ツールを開くとこの時点でデプロイされているのがわかる。
http://shin.cside.com/diary/2012/0421-08.png


リンクをクリックすると確かにデフォルトで起動していた。
http://shin.cside.com/diary/2012/0421-09.png


こういうwarファイルらしい。
http://shin.cside.com/diary/2012/0421-10.png


で、F6を押してプロジェクトの実行。F6をオスとメインプロジェクトのコンパイル、warアーカイブ、デプロイ、ブラウザ起動と順に実行される。そして表示された。これはNetBeansのWebプロジェクトの新規作成をスルト標準ではいっているJSPファイルだ。
http://shin.cside.com/diary/2012/0421-11.png


バージョン管理されているのがわかる。このwarファイルはS3に作られる。
http://shin.cside.com/diary/2012/0421-12.png


と、このようにTomcatGlassfishなどと同じようにAWSクラウド(Beanstalk)にデプロイできる。

ただ、現状基本的な動きは問題はないものの、細かいところでバグはあるようで、コンボボックスの選択がおかしかったり、追加したサーバーの情報が消せなかったりする。現時点でここまで動いているので、リリースまでは問題なく実装されそうだ。


Beanstalkで起動されるインスタンスはマイクロインスタンス。マイクロでも500MBはメモリ確保できると思うのであんまり問題にはならないとは思うが、変えたいときはAWSの管理コンソール画面で修正するのがいいのだろう。

BanstalkのJava版はLinux + JavaSE 6 + Tomcat 6/7で実装されているため、Javaのコードを書いてwarをアップロードするだけで、バージョン管理されてサーバーが完成する。好きなバージョンに戻すことも可能だ。ロードバランサも設定され、デフォルトでは1インスタンス、負荷が増えるとインスタンス数が自動で増えて最大4つまで生成されるようになっている。つまり、サーバーの管理はしたくない、アプリだけ作ってあとは全部おまかせができるということだ。

GoogleクラウドであるAppEngine/Javaとの違いは普通のWebアプリがデプロイできるというところだ。GAEはJavaSEのかなりの部分が実行できないようになっているため、Javaの一般的なWebアプリで利用する既存のライブラリ等がほとんど動かないと思ってよい。

そのため、何もしなくてもそのまま動く、AWSのBeanstalkはクラウド入門によい。そしてNetBeans 7.2はそのためのアクセスを標準で用意した。JavaEE 7ではクラウドがキーワードとなっているため、今後こういった方向は大事になっていくのだろう。今後に期待である。