AWS LambdaのJava 8ランタイムがAmazon Correttoへ。OpenJDKから移行するとAWSが発表
Amazon Web Servicesは、同社のサーバレスコンピューティング基盤であるAWS LambdaのJava 8ランタイムを、OpenJDKからAmazon Correttoへ移行すると発表しました。
Javaにはさまざまなディストリビューションが存在します。代表的なのがオラクルが企業向けに有償で提供しているOracle JDK、そしてオラクルがビルド、テストして無償配布しているOracle OpenJDK(単に「OpenJDK」と書かれた場合は、一般にこのOracle OpenJDKのことを指す)でしょう。
ほかにも、Eclipse Foundationによる「Eclipse Adoptium」(旧AdoptOpenJDK)、マイクロソフトによる「Microsoft Build of OpenJDK」などがあり、Amazon CorrettoはAWSによるJavaディストリビューションです。
参考:AdoptOpenJDKプロジェクトがEclipse Foundationへの合流を発表。合流後の新プロジェクト名は「Eclipse Adoptium」に
参考:マイクロソフトが無償でJavaの長期サポートを提供へ、「Microsoft Build of OpenJDK」をリリース
AWSは2018年11月にAmazon Correttoを発表。2020年8月にはAmazon CorrettoでJava 8を2026年までサポートすると発表しており、ユーザーはこの日まで無償でAWSからセキュリティパッチなどを受け取ることができます。
参考:AWS、「Java 8」を2026年まで、「Java 11」は2027年まで、現行より3年サポート期間延長を発表。独自JavaディストリビューションのCorretto 8とCorretto 11で
このAmazon Correttoが、今後AWS lambdaにおけるJava 8のデフォルトランタイムになるというのが今回の発表です。
9月には移行完了
AWSはAWS LambdaのJavaランタイムがCorrettoになることで、次のようなメリットがあると説明しています。「Announcing migration of the Java 8 runtime in AWS Lambda to Amazon Corretto」から引用します。
Amazon is committed to Corretto, and provides regular updates that include security fixes and performance enhancements. With this change, these benefits are available to all Lambda customers.
AmazonはCorrettoにコミットしており、セキュリティ修正やパフォーマンスの向上を含む定期的なアップデートを提供しています。今回の変更により、Lambdaのお客様すべてがこれらの利点を得られるようになります。
一方で、OpenJDKとAmazon Correttoは異なるディストリビューションのため、互換性が気になります。これについては次のように説明されています。
Amazon Corretto 8 is designed as a drop-in replacement for OpenJDK 8. Most functions benefit seamlessly from the enhancements in this update without any action from you.
Amazon Corretto 8は、OpenJDK 8をそのまま置き換えられるように設計されています。ほとんどの機能は、今回のアップデートで強化された機能からシームレスに恩恵を受けることができ、お客様は何もする必要がありません。
OpenJDKからCorrettoへの移行は主に次のようになっています。
6月15日 Amazon Correttoランタイムとの関数の互換性をテストするためのLambdaレイヤーの提供。
7月12日 既存の関数を更新した場合は、自動的にAmazon Correttoに移行。新しい関数は、すべてAmazon Correttoを使用。
8月9日 6月28日以降に更新されていない関数について、Correttoランタイムへ自動移行を開始。
9月3日 移行完了
移行したくないユーザーには、OpenJDKのランタイムを維持する設定なども提供されています。
今後、さらにAmazon Correttoの採用が進むのではないか
AWS LambdaでのJavaアプリケーションはほぼ新規開発になるため、過去のバージョンであるJava 8を利用しているユーザーはそれほど多くないと思われます。そのため、今回のAmazon Correttoへの移行の影響は非常に小さいのではないかと推測されます。
AWSにとって、自社サービスのJava環境をOpenJDKから自社でメンテナンスができるAmazon Correttoへの移行することは、自社でサービスの品質や性能、障害対応などをコントロールしやすくなるといった利点が大きいはずです。
おそらく今後、AWSはさらにJava環境のAmazon Correttoへの移行を広げていくことでしょう。
そしてマイクロソフトが「Microsoft Build of OpenJDK」をリリースしたのも、同様の理由が考えられます。Microsoft Azureでも今後、同様の動きがみられるのではないでしょうか。
あわせて読みたい
ずっと無料で使えるクラウドの「Free Tier」主要サービスまとめ。2021年版
≪前の記事
KubernetesのノードとしてWebAssemblyランタイムを用いる「Krustlet」、CNCFのサンドボックスプロジェクトに申請