日本マイクロソフト株式会社は2024年6月5日、同社では4回目となるJava on Azureに関するイベント、Java on Azure Day 2024を開催しました。今年はオンライン・
基調講演では、マイクロソフトにおけるJavaの最新アップデートやツールの紹介の他、マツダ株式会社におけるAzureの活用事例、そしてマイクロソフトにおけるエンタープライズ企業向けの技術支援サービスについても語られました。
本記事では、Java on Azure Day 2024の基調講演でマイクロソフトが発表した内容を速報としてまとめます。
全方位で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の仕様作成や、OpenJDKの品質改善、各種OSSライブラリへの様々な貢献を行っています。
- Eclipse Foundation:Jakarta EEやMicroProfileのコミュニティに参加
- JCP
(Java Community Process) :エグゼクティブ・コミッティとして参加 - OpenJDK:コミュニティに参加
Java開発ツール・サービス
マイクロソフトは、Java開発者向けに多くのサービスやツールを提供しています。
マイクロソフトBuild of OpenJDKでは、Java 11、17、21のLTS
また、今年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:プライベート・
プレビュー中の新開発者向け機能
これらの中で特にハイライトされたのが
Java開発者向けのWebテスト・ライブラリ「Playwright for Java」の紹介
寺田氏は、Java開発者向けのライブラリである
具体的なデモを通じて、ブラウザの起動や画面ダンプの取得などを行い、実際のテストシナリオを実演しました。Playwright for Javaは、他の言語
GitHub Copilotの新機能とエンタープライズ向けサービス
次に、寺田氏はGitHub Copilotのエンタープライズ向けサービスと機能について詳しく説明しました。
GitHub Copilotのエンタープライズ向けに提供されているサービスとしてGitHub Copilot Business と GitHub Copilot Enterpriseがあります。これらは企業レベルでのオープンソースライセンス違反の防止や、機密情報の保護、監査ログの取得など、より高度な機能を提供しています。
とくにEnterprise版ではブラウザ上で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 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の実行環境を選び、効率的に開発からデプロイを進めることができます。
今回の
マツダにおけるAzure活用事例
続いて、寺田氏はJava on Azureの活用事例を紹介をするため、スペシャル・
マツダは、クラウド技術を活用し自動車のコネクティッド・
下記に、吉岡氏の発表内容をまとめます。
マツダとシステム開発、そしてJavaの関わりについて
吉岡氏はマツダについて、このように紹介しました。
「マツダは1920年に創立し、広島を拠点とする自動車メーカで、
吉岡氏自身、同社にJavaを導入するタイミングから継続してJavaに関わり、同社におけるフレームワークの導入から社内展開、基盤構築に至るまで様々なプロジェクトに携わってきました。最近はコネクティッド・
コネクティッド・ビークル(CV)刷新プロジェクトについて
次に、吉岡氏はCV刷新プロジェクトについて詳しく説明しました。
CVプロジェクトは、AKS
大規模システムの特性上、非同期メカニズムを導入し、メッセージングの仕組みを活用しています。新規作成アプリはすべてJavaで実装しAKS上で動作しています。とくに、CVは車の一部として捉えられるため、品質面での厳しい要件があります。
また、グローバルに展開されているため、地域ごとの利用パターンに対応する必要もあります。たとえば、アメリカでは通勤や買い物の時間帯にピークがあり、日本では地域ごとに異なるピークがあります。こうした非機能要件に対応するため、スケールイン・
CVプロジェクト以外にも、MaaS
Azureを採用した背景は、マイクロソフトとの既存の協力関係があります。もともとマイクロソフトと長年の協力関係を築いており、その中でクラウドを利用する際、どの企業とパートナーシップを結ぶかを慎重に検討しました。クラウドサービスの選定にあたっては、信頼性、スケーラビリティ、サポート体制など多くの要素を考慮しました。その結果、Azureが最適であると判断し、採用に至りました。
しかし、大規模に運用を行うとトラブルも発生します。実際、CVプロジェクトの運用中に、AKSのバージョンアップに伴いPodが急に落ちる現象が発生しました。調査の結果、Javaのメモリ管理に問題があると判明しました。この問題を解決するために、マイクロソフトの協力を得て詳細な調査を行い、AKSとJavaのバージョンを上げる対応を行いました。
マイクロソフトとの交流は国内外で行われており、とくに日本のエンジニアとはウィークリーまたはバイ・
マツダにおける生成AIの取り組み
次に、吉岡氏はマツダにおける生成AIを利用した全社的な生産性向上の取り組みについても詳しく説明しました。
マツダは現在、生成AI技術を活用し、社内の生産性向上を目指しています。特に、Chat GPTのような大規模言語モデルやRAGを活用し、社内のドキュメント管理や情報検索の効率化を目指しています。社内には、R&Dや工場、バックオフィスなどで大量の技術仕様書や機密文書が存在します。
現在、さまざまな部門に存在する大量のドキュメントを、効率的に検索・
さらに、最近ではGPT-4vも登場し、図表の読み取りなどへの適用も期待していますと語りました。
吉岡氏からJava開発者に送るメッセージ
最後に、吉岡氏はJava開発者に向けてメッセージを送りました。
「Javaは非常に優れた言語であり、ミッションクリティカルなシステムで利用が証明されています。若いエンジニアの皆さまには、Javaの重要性を理解し、これからもJavaを活用して素晴らしいシステムを開発してほしいです。そして、Javaが今後も発展し続けることを期待しており、Javaコミュニティの成長を心から願っています」
マイクロソフトのエンタープライズ向け技術支援サービス
続いて、マイクロソフトの樽澤氏が登壇し、エンタープライズ向け技術支援サービス
FTAは、お客様のITシステムを迅速かつ効果的に、Azureに展開するための技術支援プログラムです。ベストプラクティスやAzureアーキテクチャーガイドに基づいて、エンジニアが技術的ガイダンスを提供します。FastTrackはいわゆる
Java on Azure サービスメニューの詳細と活用方法
ここで、樽澤氏は
このサービスは、既存のJavaアプリケーションをAzureに移行する際、もしくは新規開発のJavaアプリケーションをAzureにデプロイする際に利用できます。このサービスメニューの特徴は、高いセキュリティ、信頼性、拡張性を備えたJavaアプリケーションの環境を構築する点にあります。
具体的なメリットとして、Azure上の稼働を前提としたJavaアプリケーション開発・
また、Azure上でシステムを構築する際、セキュリティを十分に考慮した環境構築が必要です。このような推奨構成をマイクロソフトではリファレンス・
しかし、誰でも簡単にそのような構成を作れるわけではなく、難しい作業が必要になります。コンテナやクラウド、アプリケーション、セキュリティ、運用監視、その他さまざまな知識や経験などが必要になります。FTAはこのようなお客様の悩みを解決しますと語りました。
利用可能なAzure上のJavaサービス
- Azure Spring Apps
- Azure Kubernetes Service (AKS)
- Azure Container Apps
- Azure Functions
- Azure App Service
- など
FTA利用の条件
- Azureのサブスクリプションをお持ちいただく
- FTAがサポートしているAzureのリージョンにデプロイ
- FTAの支援対象となるITシステムと、開発プロジェクトが特定されている
- リリース後、1年以内に月々5,000USドルのAzureの使用料が見込まれる
樽澤氏は、基幹システム向けJava on Azureサービスをご活用いただくと、最適なAzureのアーキテクチャーを容易に設計できます。プログラムにご興味のある方は
最後に
Java on Azure Day 2024の基調講演では、マイクロソフトの最新の取り組みやツール、マツダ株式会社の実際の活用事例、そしてマイクロソフトの技術支援サービスについて紹介されました。
イベントの最後は、後続セッションの紹介やJavaに関する技術情報の入手先についての案内もありました。マイクロソフトは、Java開発者向けに多くのリソースを提供しており、これらを活用しさらにスキルを向上できます。とくに、マイクロソフト LearnのJavaリソースやGitHubリポジトリ等のリンクは、開発者にとって非常に有用です。
そして、Java on Azure AI祭りと言われたこのイベントでは、基調講演だけでなく他のテクニカル・
リアルタイムで参加が難しかった方は、後ほどセッション動画が公開される可能性があります。セッション動画が公開された場合、個別にチェックしてみると良いかもしれません。
今後もマイクロソフトは、Java開発者のニーズに応えるために、最新の技術やツールを提供し続けることを約束しました。これからも、マイクロソフトのJavaに関する取り組みに期待したいと思います。
情報:参考URL
- Java on Azure用学習リソース: マイクロソフト Learn
- Java in Visual Studio Code: Java in Visual Studio Code
- GitHub Copilot for IntelliJ IDEA: GitHub Copilot for IntelliJ IDEA
- GitHub Copilot Enterprise: GitHub Copilot Enterprise
- Playwright for Java: Playwright for Java
- Microsoft Build of OpenJDK™: Microsoft Build of OpenJDK™
- Azure OpenAI Client Library: Azure OpenAI Client Library
- Semantic Kernel for Java: Semantic Kernel for Java
- LangChain4j: LangChain4j
- Spring AI: Spring AI
- FastTrack for Azure: FastTrack for Azure