Microsoft Build of OpenJDKの概要を理解する

こんばんは。今日は、Microsoft OpenJDKについて情報を整理しておこうと思います。

そもそもOpenJDKとは?

  • Open Java Development Kitの略で、プログラミング言語Javaのフリーかつオープンソースの実装
  • もともとJava開発元であるサンマイクロシステムズ(現Oracle)が開発
  • Java JDKは、個人利用のみ無償で利用できるが、商用利用では無償で利用できないことが誕生の背景。だったら無料で商用利用できるものも提供しようと。
  • 公式ドキュメント:https://openjdk.java.net/

OpenJDKの変遷と種類

こちらの資料に非常に分かりやすく、詳しくまとめられています。

こんなにたくさんの種類があるわけですね・・・。

Wikipediaより

https://ja.wikipedia.org/wiki/OpenJDK

Microsoft Build of OpenJDKとは?

さて、OpenJDKとは何か、どういう変遷をたどってきたか、をおさらいしたところで、いよいよMicrosoft build of OpenJDKの登場です。

公式ページより

Microsoft build of OpenJDKは2021年5月25日に一般公開されました。

プレビュー版が公開されていた2021年4月6日に、Principal Program ManagerのBruno氏のコメントが公表されており、概要と、公開の背景についても触れています。

https://devblogs.microsoft.com/java/announcing-preview-of-microsoft-build-of-openjdk/

  • Microsoftは、自社でもJavaを多く活用しており、最適化を模索していた

Microsoft relies on Java technologies for a variety of its own internal systems, applications, and workloads to enable well-known public services and products as well as a significant set of mission-critical systems that power Azure infrastructure. We have been working on optimizing our Java-based systems and securing our supply chain to benefit our customers and users.

  • Microsoft Build of OpenJDKは、Open JDKであるEclipse Adoptim Projectをベースとしている(Eclipse Adoptim Projectは、上のAdoptOpen JDKがEclipse Foundationに移行されたものです)

The Microsoft Build of OpenJDK binaries for Java 11 are based on OpenJDK source code, following the same build scripts used by the Eclipse Adoptium project and tested against the Eclipse Adoptium Quality Assurance suite (including OpenJDK project tests). Our binaries for Java 11 have passed the Java Technology Compatibility Kit (TCK) for Java 11, which is used to verify compatibility with the Java 11 specification. The Microsoft Build of OpenJDK is a simple drop-in replacement for any other OpenJDK distribution available in the Java ecosystem.

また、まだ日本語化されていないですが、以下に公式ドキュメントによる説明があります。

https://docs.microsoft.com/ja-jp/java/openjdk/overview

Microsoft Build of OpenJDKを使うと何が嬉しいのか?

上のBruno氏のコメントにもありますが、Microsoft Build of Open JDKは、Microsoftのサービスに最適化されているため、Microsoft Azure上で動くJavaアプリケーションなどでは、この最適化の恩恵を受けて、パフォーマンス向上などのメリットが見込めそうです。(詳細情報はなし)

実際、Microsoft AzureのJavaランタイムは、今後Azul Zulu(*)からMicrosoft build of Open JDKに置き換えられていく計画のようです。Microsoft Azureの需要も考えると、これまでのOpenJDKディストリビューター競争の構図を一気に塗り替えそうで非常に楽しみですね。

(*) https://azure.microsoft.com/ja-jp/blog/microsoft-and-azul-systems-bring-free-java-lts-support-to-azure/

Azure is seeing significant growth in Java workloads through Azure Spring Cloud, Azure App Service, Azure Functions, and Azure Kubernetes Service. In the future, and once we start rolling out new JVMs with the Microsoft Build of OpenJDK across Azure, we will look for opportunities to recommend better optimizations for Java-based workloads on these services.

Microsoft Build of OpenJDKのサポートについて

最後になりますが、商用利用を考える上で一番気になるのはサポートですよね。安心してください、こちらも以下の公式ページに整理があります。

Java11 (LTS)に対しては最低でも2024/10まで、Java17(LTS)に対しては、2027/09までのサポートが予定されているようです。

https://docs.microsoft.com/ja-jp/java/openjdk/support

以上、簡単ではありますが、Microsoft Build of OpenJDKの概要についての整理でした。

本日も最後までご覧いただきありがとうございました!

この記事を気に入っていただけたらシェアをお願いします!

ABOUT US

Yuu113
初めまして。Yuu113と申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。