Java
OpenJDK
java8
Java11

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で運用してみて、トラブルが多いようであれば有償サポートを検討する、という流れになりそう。

参考