速報!Java on Azure Day 2024 ――Playwright for Java⁠GitHub Copilotの新機能など注目テクノロジーが目白押し!

日本マイクロソフト株式会社は2024年6月5日、同社では4回目となるJava on Azureに関するイベント、Java on Azure Day 2024を開催しました。今年はオンライン・イベントとして開催し、マイクロソフトにおける最新のJava関連技術やツールや企業での活用事例を紹介しました。

基調講演では、マイクロソフトにおけるJavaの最新アップデートやツールの紹介の他、マツダ株式会社におけるAzureの活用事例、そしてマイクロソフトにおけるエンタープライズ企業向けの技術支援サービスについても語られました。

本記事では、Java on Azure Day 2024の基調講演でマイクロソフトが発表した内容を速報としてまとめます。

全方位でJava開発者の支援に注力

Microsoft Corporation Developer Relation Sr. Cloud Advocate 寺田佳央氏
写真

基調講演では、マイクロソフトのシニア・クラウド・アドボケイトである寺田佳央氏が、同社の最新のJavaに関する取り組みについて詳しく紹介しました。寺田氏は、マイクロソフトがどのようにしてJava開発者をサポートしているか、そして新しいツールやサービスがどのように開発者の生産性を向上させるかについて語りました。

マイクロソフトの関連サービスやツールで、Javaは幅広く活用されています。Visual Studio Codeは世界で3800万人以上の開発者に利用されており、Javaの開発者だけでも250万人以上が利用しています。GitHubも1億人以上の開発者が利用していますが、この中でJavaはトップ5のプログラミング言語として認知されています。

さらに LinkedInでは5兆のメッセージを Apache Kafka で処理し、MINECRAFTでは1000万人以上のゲーマがJava版を利用しています。Bingでは5万台以上のJVMを稼働させて検索インデックスを作成し、Azureでは5,000億メッセージをApache Kafkaでデータ処理しています。こうして様々な領域でJavaは利用されていると語りました。

コミュニティ

マイクロソフトは、Javaコミュニティにも積極的に参加しています。Eclipse FoundationのJakarta EEや MicroProfileのコミュニティ、JCP(Java Community Process)のエグゼクティブ・コミッティ、そしてOpenJDKのコミュニティに参加しています。

こうしたコミュニティの参加により、マイクロソフトは次の新しいJavaの仕様作成や、OpenJDKの品質改善、各種OSSライブラリへの様々な貢献を行っています。

  • Eclipse Foundation:Jakarta EEやMicroProfileのコミュニティに参加
  • JCP(Java Community Process):エグゼクティブ・コミッティとして参加
  • OpenJDK:コミュニティに参加

Java開発ツール⁠サービス

マイクロソフトは、Java開発者向けに多くのサービスやツールを提供しています。

マイクロソフトBuild of OpenJDKでは、Java 11、17、21のLTS(Long Term Support)バイナリを提供しています。Visual Studio Code for Javaは250万人以上のJava開発者に利用されています。

また、今年3月にIntelliJ IDEA用のGitHub Copilot Chatのプラグインを提供しVS Code以外のIDEでもAI開発が利用可能になっています。

  • マイクロソフト Build of OpenJDK:Java 11、17、21のLTS版バイナリを提供
  • Playwright for Java:Webテスト用のJavaフレームワーク
  • Visual Studio Code for Java:250万人以上のJava開発者が利用
  • IntelliJ IDEA support:GitHub Copilot Chatが利用可能
  • Copilot Business:企業向けの機能
  • Copilot Enterprise:高度な企業向け機能
  • GitHub Copilot Workspace:プライベート・プレビュー中の新開発者向け機能

これらの中で特にハイライトされたのが「Playwright for Java」「GitHub Copilot Enterprise」でした。

Java開発者向けのWebテスト⁠ライブラリ「Playwright for Java」の紹介

寺田氏は、Java開発者向けのライブラリである「Playwright for Java」をデモを交えて紹介しました。このツールは、マイクロソフトが開発したWebテスト用のフレームワークで、Javaコードを使ったWebブラウザの自動操作や、テストを行えます。

具体的なデモを通じて、ブラウザの起動や画面ダンプの取得などを行い、実際のテストシナリオを実演しました。Playwright for Javaは、他の言語(.NETやPython)用にも用意されており、Webテストの自動化をサポートします。

Playwright for Java
写真

GitHub Copilotの新機能とエンタープライズ向けサービス

次に、寺田氏はGitHub Copilotのエンタープライズ向けサービスと機能について詳しく説明しました。

GitHub Copilotのエンタープライズ向けに提供されているサービスとしてGitHub Copilot Business と GitHub Copilot Enterpriseがあります。これらは企業レベルでのオープンソースライセンス違反の防止や、機密情報の保護、監査ログの取得など、より高度な機能を提供しています。

とくにEnterprise版ではブラウザ上でGitHub Copilot Chatが利用可能になり、特定のレポジトリに対してセマンティック・サーチが可能になるなど開発者だけではなく、コード・レビューアーにとっても有用な機能を紹介しました。さらに既存のソースコードに対して編集を行ってPull Requestを送る際、実際のPull Requestの内容をGitHub Copilotが読み取り、自動的に内容の要約を生成するデモも行いました。

GitHub Copilot Enterpriseでの、Webブラウザ上でのGitHub Copilot Chatの活用
写真

さらに、Private Preview として提供開始しはじめたGitHub Copilot Workspaceも紹介し、これらのツールやサービスが今後Java開発者にとってどれほど有益であるかを強調しました。

JavaによるAIアプリ開発

次に、寺田氏はJava開発者用のAI関連のツールやSDKを紹介しました。Javaを利用してAIアプリの開発を行うために、Java SDK、Semantic Kernel、LangChain4J、spring-aiなどがあり、これらを活用してAIアプリケーションの開発が可能ですと語りました。

基調講演では各APIやライブラリの詳細は触れませんでしたが、基調講演後のテクニカル・セッションで、これら全ライブラリが紹介されています。

  • マイクロソフト Azure Java SDK:マイクロソフトが提供するOpenAI/Azure OpenAIのAIモデルを利用する低レベルAPI
  • Semantic Kernel:マイクロソフトが提供するOpenAI/Azure OpenAIのAIモデルを利用する高レベルAPI
  • LangChain4J:OSSで開発中のOpenAI/Azure OpenAIのAIモデルを利用する高レベルAPI
  • spring-ai:OSS(Spring)で開発中のOpenAI/Azure OpenAIのAIモデルを利用する高レベルAPI

上記のツールを活用することで、開発者はJavaを利用したAIを組み込んだAIアプリケーションを効率的に開発することができます。

Azure

Azureでは、Java開発者向けに多様なランタイム・サービスを提供しています。Webアプリケーション開発にはAzure Web AppやAzure App Service、マイクロサービスにはAzure Kubernetes Service、Azure Container Apps、Azure Spring Apps、Azure Red Hat OpenShiftなどが利用できます。サーバレス用にはAzure FunctionsやAzure Container Instanceも提供されています。

  • Web アプリケーション開発:Azure Web App、Azure App Service
  • マイクロサービス:Azure Kubernetes Service、Azure Container Apps、Azure Spring Apps、Azure Reh Hat OpenShift
  • サーバレス: Azure Functions、Azure Container Instance

さらに、マイクロソフトは、Oracle、IBM、Red Hat、Broadcom などのパートナーと協力しJavaの関連ソリューションを提供しています。Oracleとは WebLogic ServerやOracleデータベース、IBMとはWebSphereやOpenLiberty、Red HatとはJBoss EAPやRed Hat OpenShift、BroadcomとはAzure Spring AppsやSpring Cloud等を提供しています。

  • Oracle: WebLogic Serverやデータベース連携
  • IBM: WebSphere、OpenLiberty
  • Red Hat: JBoss EAP、Red Hat OpenShift
  • Broadcom: Azure Spring Apps、Spring Cloud

こうしたパートナーシップにより、Java開発者はニーズに応じて最適なJavaの実行環境を選び、効率的に開発からデプロイを進めることができます。

今回の「Java on Azure Day 2024」では、これらのマイクロソフトにおけるJavaの最新情報が発表され、Java開発者にとって非常に有益な内容が提供されました。マイクロソフトは今後もJavaコミュニティへの貢献を続け、開発者の支援に注力していくことを約束しています。

マツダにおけるAzure活用事例

マツダ株式会社 MDI&IT本部 主査 吉岡正博氏
写真

続いて、寺田氏はJava on Azureの活用事例を紹介をするため、スペシャル・ゲストとして、マツダ株式会社の吉岡正博氏を招き、同社の取り組みについて詳しく聞きました。

マツダは、クラウド技術を活用し自動車のコネクティッド・ビークル(CV)システムを刷新するプロジェクトを進めています。マイクロソフトとの長年の協力関係や、クラウド・プロバイダとしての信頼性、スケーラビリティを評価しAzureを採用しました。CV刷新プロジェクト以外にもMaaSの領域にもAzureを適用する他、Azure OpenAIを活用した全社レベルでの生産性向上を目指しています。

下記に、吉岡氏の発表内容をまとめます。

マツダとシステム開発⁠そしてJavaの関わりについて

吉岡氏はマツダについて、このように紹介しました。

「マツダは1920年に創立し、広島を拠点とする自動車メーカで、⁠走る喜び」「デザイン」のスピリットを大切にし、飽くなき挑戦を続ける企業精神を持っています。ロータリーエンジンの開発やル・マン24時間レースでの優勝など、数々の成功を成し遂げてきました。また、1960年には日本で初めてIBMのコンピュータを導入するなど、早期からデジタル化も推進し、最近では、生成AIも活用するため、先進ITチームも立ち上げています。ソフトウェアの重要性が増す中、内製化チームを新設し、コネクティッド・ビークル・システムの刷新や新しいサービスの構築にも取り組んでいます⁠⁠。

吉岡氏自身、同社にJavaを導入するタイミングから継続してJavaに関わり、同社におけるフレームワークの導入から社内展開、基盤構築に至るまで様々なプロジェクトに携わってきました。最近はコネクティッド・システムに関わったり、先進ITチームを立ち上げ、AIやビッグデータの領域にも関わっておりますと語りました。

コネクティッド⁠ビークル(CV)刷新プロジェクトについて

次に、吉岡氏はCV刷新プロジェクトについて詳しく説明しました。

CVプロジェクトは、AKS(Azure Kubernetes Service)とSQL DBを利用し、複数の機能ブロックに分けてシステムを構築しています。

大規模システムの特性上、非同期メカニズムを導入し、メッセージングの仕組みを活用しています。新規作成アプリはすべてJavaで実装しAKS上で動作しています。とくに、CVは車の一部として捉えられるため、品質面での厳しい要件があります。

マツダCVプロジェクトでは、AKS(Azure Kubernetes Service)とSQL DBを利用し、複数の機能ブロックに分けてシステムを構築。また、非同期メカニズムを導入し、メッセージングの仕組みを活用している
写真

また、グローバルに展開されているため、地域ごとの利用パターンに対応する必要もあります。たとえば、アメリカでは通勤や買い物の時間帯にピークがあり、日本では地域ごとに異なるピークがあります。こうした非機能要件に対応するため、スケールイン・スケールアウトの機能も重要であり、お客様へ迅速なレスポンスが求められています。

CVプロジェクト以外にも、MaaS(Mobility as a service)向けのサービスも新規構築中で、こちらはAKS、Cosmos DB、Event Hubを使って実装中です。CVとはアーキテクチャーが異なりますが、それぞれの特性に合うように工夫して作っています。

Azureを採用した背景は、マイクロソフトとの既存の協力関係があります。もともとマイクロソフトと長年の協力関係を築いており、その中でクラウドを利用する際、どの企業とパートナーシップを結ぶかを慎重に検討しました。クラウドサービスの選定にあたっては、信頼性、スケーラビリティ、サポート体制など多くの要素を考慮しました。その結果、Azureが最適であると判断し、採用に至りました。

しかし、大規模に運用を行うとトラブルも発生します。実際、CVプロジェクトの運用中に、AKSのバージョンアップに伴いPodが急に落ちる現象が発生しました。調査の結果、Javaのメモリ管理に問題があると判明しました。この問題を解決するために、マイクロソフトの協力を得て詳細な調査を行い、AKSとJavaのバージョンを上げる対応を行いました。

マイクロソフトとの交流は国内外で行われており、とくに日本のエンジニアとはウィークリーまたはバイ・ウィークリーで頻繁にコミュニケーションを取っています。また、アメリカ本社を訪問し、プロジェクトの取り組みを説明し、開発者からの提案を受ける機会もあります。こうした綿密なコミュニケーションと協力体制により、プロジェクトの課題を迅速に解決し、成功に導いていますと語りました。

マツダにおける生成AIの取り組み

次に、吉岡氏はマツダにおける生成AIを利用した全社的な生産性向上の取り組みについても詳しく説明しました。

マツダは現在、生成AI技術を活用し、社内の生産性向上を目指しています。特に、Chat GPTのような大規模言語モデルやRAGを活用し、社内のドキュメント管理や情報検索の効率化を目指しています。社内には、R&Dや工場、バックオフィスなどで大量の技術仕様書や機密文書が存在します。

現在、さまざまな部門に存在する大量のドキュメントを、効率的に検索・要約するための取り組みを行っており、各部門の業務効率化を目指しています。Azure OpenAIは、セキュアな環境で大規模言語モデルを運用できるため、こうしたマツダの機密文章を扱うニーズに合致していました。現在Azure OpenAIを活用して、10件以上の生成AIプロジェクトが進行中で、これらのプロジェクトを通じて、社内のさまざまな部門における生産性向上を図っています。

さらに、最近ではGPT-4vも登場し、図表の読み取りなどへの適用も期待していますと語りました。

吉岡氏からJava開発者に送るメッセージ

最後に、吉岡氏はJava開発者に向けてメッセージを送りました。

「Javaは非常に優れた言語であり、ミッションクリティカルなシステムで利用が証明されています。若いエンジニアの皆さまには、Javaの重要性を理解し、これからもJavaを活用して素晴らしいシステムを開発してほしいです。そして、Javaが今後も発展し続けることを期待しており、Javaコミュニティの成長を心から願っています」と語り、セッションを締めくくりました。

マイクロソフトのエンタープライズ向け技術支援サービス

Microsoft Corporation Principal Customer Engineer 樽澤 広亨氏
写真

続いて、マイクロソフトの樽澤氏が登壇し、エンタープライズ向け技術支援サービス「Fast Track for Azure (FTA)」について紹介しました。

FTAは、お客様のITシステムを迅速かつ効果的に、Azureに展開するための技術支援プログラムです。ベストプラクティスやAzureアーキテクチャーガイドに基づいて、エンジニアが技術的ガイダンスを提供します。FastTrackはいわゆる「追い越し車線」を意味し、追い越し車線で他車を追い抜くように、お客様のITシステムを素早くリリースするための支援プログラムです。

Java on Azure サービスメニューの詳細と活用方法

ここで、樽澤氏は「Java on Azure」にフォーカスしたサービスメニュー「基幹システム向けJava on Azureサービスメニュー」について詳しく説明しました。

このサービスは、既存のJavaアプリケーションをAzureに移行する際、もしくは新規開発のJavaアプリケーションをAzureにデプロイする際に利用できます。このサービスメニューの特徴は、高いセキュリティ、信頼性、拡張性を備えたJavaアプリケーションの環境を構築する点にあります。

具体的なメリットとして、Azure上の稼働を前提としたJavaアプリケーション開発・移行の高速化、さらに最先端のAzureサービスの適用支援、Azure適用のブロッカーの排除、そしてお客様のご意見やご要望を開発部門にフィードバックする等の利点があると語りました。

また、Azure上でシステムを構築する際、セキュリティを十分に考慮した環境構築が必要です。このような推奨構成をマイクロソフトではリファレンス・アーキテクチャとして公開しています。

しかし、誰でも簡単にそのような構成を作れるわけではなく、難しい作業が必要になります。コンテナやクラウド、アプリケーション、セキュリティ、運用監視、その他さまざまな知識や経験などが必要になります。FTAはこのようなお客様の悩みを解決しますと語りました。

利用可能なAzure上のJavaサービス

  • Azure Spring Apps
  • Azure Kubernetes Service (AKS)
  • Azure Container Apps
  • Azure Functions
  • Azure App Service
  • など

FTA利用の条件

  1. Azureのサブスクリプションをお持ちいただく
  2. FTAがサポートしているAzureのリージョンにデプロイ
  3. FTAの支援対象となるITシステムと、開発プロジェクトが特定されている
  4. リリース後、1年以内に月々5,000USドルのAzureの使用料が見込まれる

樽澤氏は、基幹システム向けJava on Azureサービスをご活用いただくと、最適なAzureのアーキテクチャーを容易に設計できます。プログラムにご興味のある方は「日本マイクロソフトまでお問い合わせください」と語りました。

最後に

Java on Azure Day 2024の基調講演では、マイクロソフトの最新の取り組みやツール、マツダ株式会社の実際の活用事例、そしてマイクロソフトの技術支援サービスについて紹介されました。

イベントの最後は、後続セッションの紹介やJavaに関する技術情報の入手先についての案内もありました。マイクロソフトは、Java開発者向けに多くのリソースを提供しており、これらを活用しさらにスキルを向上できます。とくに、マイクロソフト LearnのJavaリソースやGitHubリポジトリ等のリンクは、開発者にとって非常に有用です。

そして、Java on Azure AI祭りと言われたこのイベントでは、基調講演だけでなく他のテクニカル・セッションも、AIを活用したいJava開発者にとって非常に有益な情報が満載です。

リアルタイムで参加が難しかった方は、後ほどセッション動画が公開される可能性があります。セッション動画が公開された場合、個別にチェックしてみると良いかもしれません。

今後もマイクロソフトは、Java開発者のニーズに応えるために、最新の技術やツールを提供し続けることを約束しました。これからも、マイクロソフトのJavaに関する取り組みに期待したいと思います。

情報参考URL

おすすめ記事

記事・ニュース一覧