Application Server, 仁義なき戦い : JavaOne2013レポート5 #j1jp
Simon Maple氏による、「CON4117:The Adventurous Developer's Guide to Application Servers」のレポートです。
とりあえず中身の前に外見の感想
いきなり映画のオープニング風味のムービーで始まった本セッション。
会場からアンケートをとってその場で棒グラフが書かれる会場参加型(?)で楽しかったです。
演出面では今回聞いたセッションの中で一番かも。
内容は仁義無きApplication Server Buttle!
Application ServerをMaple氏独自に比較していくセッションです。出場は、Tomcat、Jetty、GlassFish、Liberty Profile、JBoss。の5者。(+WebSphereとWebLogicが最後に一瞬だけdisられに登場)
なお自分の経験は
- Tomcat ⇒ いつもお世話になっています
- Jetty ⇒ Solrについてるあれだよね。Solrちょこっと動かすのに使ったよ
- GlassFish ⇒ ついこのあいだ触った!
- Liberty Profile ⇒ なにそれはじめてきいた
- JBoss ⇒ お名前はかねがね伺っています
というレベル。なので、セッションレポートに入る前に、まったく見ず知らずの後ろ2つを調べるところから始めたいと思います。
Liberty Profile
http://codezine.jp/article/detail/6604
無料版(開発環境向け)WebSphereらしい。昨年2012年に登場した模様。
JBoss
http://d.hatena.ne.jp/nekop/20110421/1303372984
Tomcatに比べるとかなりハイ機能な子らしい。
会場は殆どTomcat
まず戦いの前に、会場の人がどのサーバを使っているのか調査。その場で棒グラフを描いていきます。
(このスタイルは面白かったので自分もどこかの発表で使おうと思った次第。)
その結果、9割くらいがTomcatユーザ!で、そのうち75%くらいが満足しているとのこと。
もっとも、恥ずかしながら自分も含めて、大して他のサーバを使うことなく、単にデファクトスタンダードだから使ってるって人が多いんじゃないかなぁとは思いました。
なお、それ以外だと、JBossが会場の20%くらい(計算があってませんが、複数下位挙手した人がいるのでしょう)で満足度はなかなか。WebSphereとWebLogicも2割くらいで、満足度は低い(値段以外は最高!と言ってる人もいました)でした。
導入のしやすさ
ここからはMaple氏の独断でスコア付けがされていきます。
初戦はDOWNLOAD&INSTALLATION。ツールを落としてきて、入れて、起動して…というのは、初めての人にとっては結構面倒なもの。
この点、みんな大好きtomcatは、ダウンロード⇒解凍⇒start.shで即効起動ということですばらしい!ということに。
JBossはサイズが大き目らしいのですが、インストールは簡単とのこと。
それと、大して触れられてなかったけどJettyは軽くて高評価。
設定のしやすさ
『お前らみんなXML好きだろ!?』
ってことでtomcatちゃんなんかはXMLで設定がゴリゴリ記述されてるわけですが、どうしてもサーバって設定項目が多いので、XMLが肥大化しがち。
その中から変更したい箇所だけ探して変更すのはなかなか大変です。
その点、WebSphereはXMLが細かく分割されていて、一部だけさっくり編集するのが非常に簡単だそうで、Liberty Propertyにもその特徴が引き継がれているそうです。
ということでこの項目はLPの優勝。GlassFishは、設定がやたら複雑だからか、下位でした。
DOCS AND COMMUNITY
ドキュメントの充実度… なのですが、
『一番いけてるドキュメント置き場って言ったら…Googleだろ!?』ということで、この項は実質、どのくらいWeb上にネタが転がっているか。
『なんとかExceptionが出たら、ググればたいてい、同じ問題が発生したやつの解決策が乗ってるよね』
ということで、ユーザが圧倒的に多いtomcat圧勝。
パフォーマンス
自分のマシンで、Jenkinsなどいくつかのプロダクトの、デプロイの速さや実行速度を測定したとのこと。
なんとLPが圧勝だと!次点でTomcatだそうで、トムちゃん遅くはないそう。
機能の充実度・OSとの相性
tomcatはいろいろプラグイン入れないと、機能が足りないよねーとの話。
冒頭のJBoss関連のブログにもありましたが、JBossは標準でかなり高機能なそうで、JBoss圧勝でした。
なお、tomcatのプラグインでは、apache common projectで開発されている、tomEEというのがかなりいいとのお勧め。
公式サイトを見る限り、JavaEEで提供されているような機能がもろもろついてくるようですね。(よくわかってない)
結果
…という感じで、合計8項目について比較したところ、、、
ということでJBossが優勝!
…と見せかけて。
『項目がいろいろあったけど、お前らの中で優先度が違うだろ?』
ということで再び会場アンケート。8項目がそれぞれどのくらい重要か、High/Middle/Lowでランク付けをしました。
その結果…
tomcatが逆転勝利!!
『おまえらおめでとー!!』
ということで本セッションは幕を閉じたのでした。
まとめ
正直今までは自分の中でtomcat以外の選択肢が存在しなく(選んだわけではなく単に他のサーバを知らないので)、周りが使っているからtomcatという状態でした。
ですが今回のセッションがきっかけで、他のサーバについても考えるきっかけが生まれました。
とはいえよっぽど尖ったサービスを作るのでなければ、周囲のサービスに合わせておいたほうがいいのが事実で、この辺がtomcatの全盛につながっているのでしょうね。