Microsoftは、バージョン 11.0.10+9に基づくOpenJDKの新しいオープンソースダウンストリームディストリビューションであるMicrosoft Build of OpenJDKのプレビューリリースを披露した。Microsoft Build of OpenJDKは、macOS、Linux、およびWindowsのx64サーバおよびデスクトップ環境をサポートし、Microsoft Azureでのクラウドアプリケーションの開発に使用できる。OpenJDK 11バイナリは、Eclipse Adoptiumで使用されているものと同じビルドスクリプトとテストスイートに従い、Java 11のJavaテクノロジ互換性キットに合格している。
Microsoftのプリンシパルエンジニアリンググループマネージャ (Java) であるMartijn Verburg氏は、Eclipse Adoptium Slackで公に述べた:
うまくいけば、顧客の要望に応じて、「Azure上のサプライチェーンを保護する」動きであることが明らかになりました。他のすべてについては、Eclipse Adoptiumの戦略的パートナとして、大成功を収めることに専念しています。
Verburg氏は2017年にAdoptOpenJDKプロジェクトを共同設立し、2020年6月にEclipse Foundationに参加した後、名前をAdoptiumに変更した。Adoptiumへの移行には、AdoptOpenJDKを分割した、Adoptiumトップレベルプロジェクトの下にある複数のサブプロジェクトを含んでいる: Eclipse AQAvit、Eclipse TemurinおよびEclipse Temurinコンプライアンスである。
Adoptiumワーキンググループの創設メンバの1つであるMicrosoftは、2019年に開発者部門でJavaエンジニアリンググループをデビューして以来、Javaへの取り組みを推進してきた。特に、Javaに貢献するためにAzul SystemsやWindowsおよびMac ARMのJavaへの貢献で他のベンダーと協力してきた。Oracle Contributor Agreementに署名し、Javaパフォーマンスチューニング会社であるjClarityを買収して、AzureでのJavaワークロードを最適化した。
MicrosoftのJavaエンジニアリンググループのプリンシパルプログラムマネージャであるBruno Borges氏は、Microsoft Build of OpenJDKについてInfoQに話した:
InfoQ: Microsoft Build of OpenJDKを作る動機は何でしたか?
Borges氏: Microsoft Build of OpenJDKを作成することへの関心は、進化的なプロセスでした。社内で数十万のJavaワークロードを実行していることを認識することから始まり、その後、Azure上のJavaワークロードの数が大幅に増加しました。
500,000のJVMは、特にMicrosoftにとってJVMベースのワークロードの社内システムは大きなフットプリントです。Scala、Kotlin、およびJavaをベースにしたシステムがあります。この数字は、全社のさまざまな部門と話し合ったときに確認できたものに基づいており、さらに多くあると確信しています。
Microsoft Build of OpenJDKをリリースして、アップストリームでマージされるのを待っている間にこれらのパッチを適用できるようにするのは自然なことでした。バイナリを構築、テスト、ロールアウトするための専門知識が社内にあります。独自のビルドを作成することで、これらの変更を並行してアップストリームに進め、それらがマージされるのを待つ間、改善と修正を迅速に行うことができます。
また、MicrosoftがJavaエコシステムに積極的に参加し、Javaコミュニティに貢献するための新しい場所になることも望んでいました。
InfoQ: Microsoft Build of OpenJDKはいつGAとしてリリースされると予想していますか?
Borges氏: チームはこのリリースに非常に満足しており、GAリリースをユーザに提供できることをうれしく思います。GAを発表する前に、リリースプロセスが整然としていて、パッチ (PSU) プレビューを作成できることを確認したいと思います。プレビューリリースを今月後半に予定されている4月のリリースに更新することを目指しています。その後、プロセスと顧客からのフィードバックを評価し、できれば今年後半にGAを進めます。
InfoQ: プレスリリースでは、MicrosoftがOpenJDKの独自のダウンストリームディストリビューションを提供するベンダであるAzul Systems、つまりZuluと協力しており、この協力を継続する予定であると述べられました。このMicrosoft Build of OpenJDKのプレビューリリースで、このコラボレーションは何らかの形で変化があるのでしょうか?
Borges氏: Microsoftは2018年からAdoptOpenJDKを後援しており、Eclipse Adoptiumワーキンググループの創設メンバです。AdoptiumはAdoptOpenJDKの将来の本拠地です。OpenJDKプロジェクト自体も私たちが参加しているものです。Microsoftは、これらの場所を通じて、Javaコミュニティのすべてのメンバと協力する予定です。Azulは私たちの間の継続的な関係について彼らのブログでコメントを共有しました。
InfoQ: Azure Cloudとの統合以外に、Microsoft Build of OpenJDKが他のOpenJDKのダウンストリームディストリビューションよりもユニークな理由は何でしょうか?
Borges氏: 最も重要なことは、Microsoft Build of OpenJDKがOpenJDKプロジェクトに基づいており、Eclipse Adoptiumビルドスクリプトを使用してビルドされ、Eclipse Adoptium AQAでテストされ、長期サポートを提供するバージョンについてOracleのTCKで認定されていることです。Microsoftの顧客とユーザにとっての真の価値は、Javaベースのシステムを運用するMicrosoftチームとのつながりが深く、バグやパフォーマンスの低下など、顧客にとって重要な問題に緊密に対応できることです。Azureを使用しているMicrosoftの顧客にとって、私たちのBuild of OpenJDKは、AzureとすべてのAzureサービスおよびその他のMicrosoft製品とツールで確実に機能する独自のチームであるという点でユニークです。
InfoQ: AdoptiumワーキンググループにおけるMicrosoftの役割をどのように想定していますか?
Borges氏: 私たちは最近、戦略的メンバとしてEclipse Adoptiumワーキンググループに参加しました。Javaコミュニティおよびエコシステムと協力し、オープンソースの取り組みに貢献することを楽しみにしています。Eclipse Adoptiumは、AQAvit品質スイートによってビジネス対応のJava準拠のOpenJDKバイナリーが作成およびテストされる、ベンダーニュートラルな居場所を提供すると信じています。
Microsoftは、RedHatなどのパートナとともにEclipse Adoptiumでのリーダシップを継続します。現在、Adoptium WGの議長としてPMチームの1人がいます。また、APIなどのプロジェクトのさまざまな技術的側面を主導するJavaエンジニアリンググループのエンジニアもいます。
InfoQ: Microsoft Build of OpenJDKの展望はどのようなものでしょうか?
Borges氏: Microsoft Build of OpenJDKは、この暦年の終わりまでに、Azureマネージドサービス全体でのJava 11のデフォルトのディストリビューションになります。
Azure全体でMicrosoft Build of OpenJDKを使用して新しいJVMのロールアウトを開始したら、これらのサービスでのJavaベースのワークロードのより良い最適化を推奨する機会を探します。
Microsoftは、最新のOpenJDK 16+36リリースに基づいた、ARM WindowsのJava 16の早期アクセスバイナリも提供している。Java 17の正式なGAリリース後の2021年末までにOpenJDK 17バイナリを提供する計画も進行中だ。OpenJDK 11プレビューおよびOpenJDK 16早期アクセス用のパッケージとインストーラは、Microsoft Build for OpenJDKのWebサイトにある。