NetBeans 7.2の新機能紹介シリーズ。
おや、サービスウインドウに見慣れないものがあるぞ。
クラウドの選択・・・だと?
AWSの接続情報を入力する。
追加された。
次にプロジェクトの新規作成で、Webプロジェクトを作る。
その際にTomcatやGlassfishなど選択できるが、そこでサーバーの新規追加を選ぶと…やつ(Beanstalk)が選択できる。
コンテナタイプを選択できる。PHPも選べるが、PHPプロジェクトも対応しているかはわからない。テンプレートという項目もあるが選べない模様。
追加された。
AWSの管理ツールを開くとこの時点でデプロイされているのがわかる。
リンクをクリックすると確かにデフォルトで起動していた。
こういうwarファイルらしい。
で、F6を押してプロジェクトの実行。F6をオスとメインプロジェクトのコンパイル、warアーカイブ、デプロイ、ブラウザ起動と順に実行される。そして表示された。これはNetBeansのWebプロジェクトの新規作成をスルト標準ではいっているJSPファイルだ。
バージョン管理されているのがわかる。このwarファイルはS3に作られる。
と、このようにTomcatやGlassfishなどと同じように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ではクラウドがキーワードとなっているため、今後こういった方向は大事になっていくのだろう。今後に期待である。