Posted at

Javaのアップデート戦略を考える

現在、Java 7で動くシステムを抱えている。このシステムのJavaのバージョンアップ検討のため、今後のJavaのリリースサイクルとサポートに関する情報を整理した。


これからのJavaリリースサイクルとサポート

以下の2点がこれまでからの大きな変更点である。


(1) Java 9以降はメジャーバージョンアップが6ヵ月ごとになった

バージョン
リリース

10
2018年3月

11 (LTS)
2018年9月

12
2019年3月(予定)


(2) OracleのOpen JDKのサポートがリリースから6ヵ月間になった

ただし、3年ごとのLTSバージョンは有償で5~8年のサポート(これをOracle JDKと呼ぶ)を受けられる。


無償利用できるOpen JDK

OracleがOpen JDKのサポート期間を短縮したことで、他のベンダーがOpen JDKの長期サポートを発表している。無償で利用できるものは以下の通り。

JDK
Java 8 (LTS) サポート期限
Java 11 (LTS) サポート期限

AdoptOpenJDK
少なくとも2023年9月まで
少なくとも2022年9月まで

Amazon Coretto
少なくとも2023年6月まで
少なくとも2024年9月まで

その他、特定の条件で無償利用できるOpenJDKには、RedHat OpenJDK(RHELのサポートに含まれる)と Zulu OpenJDKMicrosoft Azure利用者は無償)がある。


アップデート戦略

まずJava 8(できればJava 11)へのアップデートは対応する必要がある。

その後については、Oracle OpenJDKの6ヵ月サイクルに追随するのは保守コスト的に難しいため、無償利用可能なOpenJDKで運用してみて、トラブルが多いようであれば有償サポートを検討する、という流れになりそう。


参考