OpenJDKのLTSはどうなった?クラウドではどうなの?結局何を選んだらいいんだ!?
以前の記事で、OpenJDK 11 のLTSの状況についてご紹介しました。
今回は続報として、OpenJDK のLTSは結局どうなったのか?クラウド環境での OpenJDK のLTSはどんな状況なのか?についてご紹介します。
あとは一番知りたい疑問、「結局何にしたらいいの!?」に対する個人的な考えを書こうと思います。
現在のOpenJDKのLTSの状況
無償でLTSな OpenJDK ビルドを使うなら、AdoptOpenJDK しか選択肢が無い状況は変わっていないです。以上。
何だか複雑な気分です。フリーライドうんぬんは別にして、有志のコミュニティに頼るしかないんですね・・・。IBM が支援しているとはいえ。
クラウドではどうなっている?
Azure / Azure Stack
Azul Systems は OpenJDK を独自ビルドした Zulu というJDKを無償で提供しています。LTSが必要な場合は、Zulu Enterprise という有償の契約を行う必要があります。
以前の記事では触れませんでしたが、有償でLTSなJDKをお探しなら、Zulu Enterprise も充分選択肢に入りますね。詳しくは後で。
ただ、Microsoft のクラウド環境である Azure / Azure Stack 上で Zulu を使用する場合、無償でLTSが提供されます。無償で Zulu Enterprise 扱いになるということですね。
これはかなりのアドバンテージだと思います。
AWS Elastic Beanstalk
今のところ JDK 11 以降のLTSについてアナウンスは出ていないですね。
JavaSEプラットフォーム / Tomcatプラットフォーム で使用されている JDK 8 についても、2019年1月以降どうなるのか分かりません。
“AWS Elastic Beanstalk の JDK 11 はLTS”という情報を見かけましたが、ウラが取れませんでした。残念ですが本ブログでは「未定」とします。
AWS Elastic Beanstalk は実行環境がセットになっているのがウリな有償サービスですので、さすがにLTSは提供されるとは思うのですが・・・。
で、結局何にすればいいの・・・?(泣)
今のところ決定版は無いですね。(それが混乱を生んでいるとも言えますが)
参考程度に、現時点で自分なら何を選ぶか書こうと思います。
あくまで個人的な意見です。SNSで、自分ならこれ!といった意見をいただければとても嬉しいです。
とにかく安く済ませたい
オンプレミス
AdoptOpenJDK。無償でLTSなのはこれしかないです。
さすがに6ヶ月しか寿命が無い素の OpenJDK は無いかなと思います。
クラウド
Azure / Azure Stack + Zulu。
やはり無償でLTSになるのは大きいです。
ただ、そのうち AWS を始めとしたクラウド環境でもLTSなJDKが無償提供されていくとは思いますね。
変化を求めない・堅くいきたい
Oracle JDK。
8のサポートを延ばすにしろ、11 LTS に移行するにしろ、本家ですから間違いはないです。
仕方ないからある程度は出すよ
Javaが稼働するサーバの規模によって変わります。
ハイスペックなサーバが多い、単純に台数が多い
Zulu Enterprise。
25台(仮想マシン・物理マシン問わず)までなら年間$13,200です。執筆時点で150万円ぐらいですね。
ハイスペック機が1〜2台だったり、ロースペックなサーバが多い
Oracle JDK。
99プロセッサまでなら、月額3,000円/プロセッサです。
プロセッサと言っていますが、コアのことです。まぎらわしい。
16コアの場合、年間60万円近いです。
意外にイマイチ
AdoptOpenJDK + IBMサポート。
年間54,800円/コアです。
16コアの場合、年間90万近くいきます。
Oracle より高いのは意外でした。
ちなみに不具合が見つかったら、AdoptOpenJDK に修正を加える形で提供されるとのこと。もちろん無償の AdoptOpenJDK に対してです。・・・まぁ気持ちは分かりますよ。
最後に
ほとんどのケースでは、なるべく早く(できれば2019年1月までに)Oracle JDK 8 から AdoptOpenJDK 11 に移行するのが現実解だと思っています。
間に合わなかった場合(ほとんどそうなると思いますが)、8のサポートを有償で延長するか、11に移行するまで目をつむるのかはお客様次第です。まずは AdoptOpenJDK 11 への移行が最優先。それさえできれば最低限のサポートは受けられます。有償のAPサーバではなく Tomcat を使う感じに近いですね。
資金が潤沢な大企業ならまだしも、少なくとも年間で100万前後かかるのはさすがに抵抗がありますから。
ただ近い将来「Javaは有償」が常識になります。その時、当然のようにメンテナンス費用として見積もりに入れられるようになると思います。
その前にJava自体が廃れるかも・・・!?(冗談ではなく)