速報!Java on Azure Day 2023――マイクロソフトが実現するJava開発者の開発効率化とイノベーション、AIの進化が拓く未来

日本マイクロソフト株式会社は2023年4月26日、同社では3回目となるJava on Azureに関するイベント、Java on Azure Day 2023を開催しました。今回は、日本マイクロソフト品川本社でCOVID-19以降初となる対面イベントで、基調講演は満席で立ち見になるほどの大変な賑わいでした。

写真 開始10分前にはほぼ満席の状態だった
写真

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

基調講演は、マイクロソフト本社所属のシニア・クラウド・アドボケイト、寺田佳央氏が担当。国内外のゲストを招き進行役を務め、自身もプレゼンとデモを行うスピーカーも担う、MC&スピーカーの二刀流で登壇しました。

写真 Microsoft シニア・クラウド・アドボケイト、寺田佳央氏
写真

冒頭で寺田氏は「COVID-19 以降対面でのイベントが減少し、オンラインでの情報発信が増えましたが、対面で皆さまとお会いし、新たな交流や関係構築ができることをとても嬉しく思っています。今日は皆さまも、どうぞ新しい出会いを見つけるため、参加者同士でも交流を持ってください」と語って始まった。

GitHub Copilot が Java 開発者にも手助け!AI によるペアプログラマの活用法~Damian Brady:GitHub, Inc. Developer Division Developer Advocate

基調講演の最初は、GitHubでDeveloper Advocateのチーム・リードを務めるDamian Brady氏が、ビデオ・メッセージという形で日本のJava開発者に向けてGitHub Copilotの有用さを紹介しました。

写真 Microsoft GitHub Developer Advocate チーム・リードの務めるDamian Brady氏(ビデオで登場)
写真

Damian氏は「GitHub Copilotは、GitHub社とOpenAI社が共同で開発したクラウドベースのAIツールで、開発者にコード補完やコード提案を行ってくれるペアプログラマです。これにより、開発者はより生産的に、そして精神的にも楽になり、ビジネスに重要なコード開発に集中できます」と語りました。

写真 GitHub Copilotのデモ。コメントからのコード提案をはじめ、目的に合わせた形で開発者のコーディングを全面的にサポートしてくれる
写真

GitHub Copilotは、Visual Studio Code、JetBrains IDE、Visual Studio、Neovimなどで利用できます。OpenAIのCodexモデルを使用し、Javaを含む12以上のプログラミング言語に対応しています。今回は、Java 開発者に役立つGitHub Copilotの活用法を紹介しますと語り、デモを交えてGitHub Copilotの有用的な活用方法について紹介しました。

デモで紹介した内容

  • コード内にコメントを記述し、JavaのオブジェクトからJSON文字列を生成するメソッドを自動生成
  • Visual Studio Codeを利用して未解決のImport文を修正
  • ディレクトリのパスを指定すると、ディレクトリとファイルの一覧を作成するメソッドを自動生成
  • コメントの記述内容を変更し、出力するコードをモダナイズ(Stream API、StringBuilderの利用)
  • GitHub Copilot Chatを利用して、Chat GPTと同様、会話形式で問題解決やQ&Aを実施

とくに特筆すべきデモは、新機能のGitHub Copilot Chatを利用したコードのバグ修正やQ&A対応でした。GitHub Copilot Chatは OpenAI 社とMicrosoftがChatGPTやBingで行ってきた経験を元に実装されています。

これは、エディタ内でコードに焦点を当てたChatGPTのようなもので、これにより、コードの問題を解決したり、コードの動作を理解するのに役立ちます。つまり、コーディングだけに特化すると、別途ChatGPTのWebサイトを開いたり、追加のプラグインなどは不要で、統合開発環境の中で即座に問題について問い合わせを行ったり、問題を解決でき、より開発生産性が高まることが期待されます。

もう少し詳しく知りたい方や試したい方は、GitHub Copilotにアクセスしてください。また、今後の取り組みについて知りたい方は、GitHub Copilot Xの内容もチェックし、デモで紹介したGitHub Copilot Chatなどの新機能を利用したい方は、Waiting Listにご登録ください。

最後に「開発者の皆さんもGitHub Copilotを活用して、より効率的で楽しいコーディングをお楽しみください」と語り発表を終えた。

マイクロソフトが提供するJava開発者向けのエンドツーエンド クラウド体験~Scott Hunter:Microsoft Corporation Developer Division Vice President

次に、寺田氏はマイクロソフトにおけるJavaの取り組みを紹介したいということで、Microsoft本社開発部門のVice PresidentであるScott Hunter氏を招き、Scott氏からビデオメッセージという形で説明を行いました。

写真 Microsoft本社開発部門Vice PresidentであるScott Hunter氏(ビデオで登場)
写真

ご存知ない方も多いかもしれませんが、実は、マイクロソフトの社内ではJavaのアプリケーションが大量に稼働し、Javaを利用したサービスも多く提供していることが紹介されました。

マイクロソフトは、2008年からJavaに対する投資を増加し、コミュニティに向けた開発を進めてきた結果、Java on Azureのサービス群は着実に進化し続けています。マイクロソフト社内では200万以上のJavaVMが稼働し、LinkedInやMinecraftなど、数多くのサービスでJavaが活用されています。

写真 LinkedInやMinecraftをはじめ、マイクロソフト内には多数のJavaを活用したプロダクトが存在している
写真

また、FedExのような大規模なJavaアプリを導入している企業も存在し、こうした企業を支援しています。FedExでも利用されているAzure Spring Appsは、高い信頼性と可用性を備え、企業がエンタープライズアプリケーションを提供するのにとても有効です。

マイクロソフトは、Java開発者のあらゆるニーズにも対応できるよう、VMWareと共同で実装したAzure Spring Appsの他、IBMとの提携によるWebSphere Application Server、OracleのWebLogic Server、Red HatのJBoss EAPなど、さまざまなJavaフレームワークやミドルウェアをネイティブにサポートしています。もちろん、Kubernetes Service上でも稼働できます。

また、Tomcat上で稼働するWebアプリケーションも実行可能で、Azure App Serviceを利用してLinuxベースのフルマネージドなサービス上でJava Webアプリケーションの迅速なビルド、デプロイ、スケーリングが可能になっています。

開発ツールの観点では、Visual Studio CodeやGitHub Copilotが Java 開発者に大きな威力をもたらし、GitHub Codespaces も Java 開発において利用できます。さらに、Microsoft Build of OpenJDKをオープンソースのライセンスに基づいて誰でも無料で利用できます。

さらに、マイクロソフトは、Java Community Process(JCP)Eclipse FoundationApache Software Foundationなどの団体に参加し、Java の発展にも尽力しています。また、Microsoft Build of OpenJDKは、専門グループを設け、Azure上でJavaのワークロードや社内のさまざまなビジネスニーズに合わせて最適化し、OpenJDKへパッチも提供しています。

マイクロソフトは、引き続きAzure上でのさまざまなJavaサービスの開発や提供に投資し、日本のJava開発者がサービスをより有効活用できるよう支援していくと発表しました。

企業で使えるAzure OpenAI:600行のCOBOLコードをJavaに移行!~寺田佳央:Microsoft Corporation Developer Relations Sr. Cloud Advocate

次に、Scott氏からの紹介で寺田氏がデモを実施しました。当初の予定と変更して行うため、予定していた内容は口頭で説明すると語り、Javaの開発で便利な点、Azureに関する各種サービスを紹介しました。

主なポイント

  • Azure Spring Appsで稼働するマイクロサービス:仮想電子商取引サイトである、フィットネス器具の購入サイトを作成
    • JavaのSpring Boot、C#、Python、Node.jsの多言語で構成されたマイクロサービス
    • Azure ADによる認証、機密情報はKeyVaultに保持、パスワードレスでPostgresSQLに接続
    • Application Insightsで監視:この内容を日本語化した内容をデモ内では表示
  • GitHub codespaces : クラウドにホスティングされた開発環境
    • 多人数開発においても環境の差異によるトラブルを軽減
    • ペアプロ、モブプロにも有効
  • GitHub Code security and analysis
    • セキュリティの脆弱性を教えてくれたり、パスワード流出を防ぐ機能
  • Azure Load Testing
    • Apache JMeterのスクリプトをもとに負荷を掛けることのできるサービス

こうした機能を利用するこで、FedExの事例と同じように、エンタープライズ環境でも、開発が容易になり、そしてセキュアで安全・スケーラブルなアプリケーションを提供していただくことができるようになります。と紹介しました。

そして、最後にJavaでAzure OpenAIを活用するデモを行いました。

Azure OpenAIを利用したデモの概要

  • Fitnessアプリケーションの問い合わせページにおけるChatGPTの活用方法
  • Azrue OpenAI Studio を利用して、電子商取引を行うための、設定方法
  • 開発時において Azure OpenAI を活用する事例
    • 物の数分で、JavaFXでオセロ・ゲームを作成→詳しくはQiita記事にて
    • 600 行の COBOL コードを Java にマイグレーション→詳しくはQiita記事にて

Azure OpenAIを利用すると、そこで扱うデータはユーザのものであり、AI自身のトレーニングや学習には利用されません。また、セキュリティを考慮し、閉じたネットワークからだけアクセスできるように設定できるなど、現在、AI活用で懸念されている点について、企業の中で持っている機密データなども安心して扱えることを紹介しました。

さらに、GPT-4の32kを利用すると、OpenAIを活用できる場が広がります。今回はその一例として、COBOLからJavaへのマイグレーションについて取り上げました。

ちなみに、今回のような内容をCOBOLに精通したエンジニアに依頼(発注)することを想像してみてください。まず、1人月くららかかるかといった見積もりから始まるでしょう。そして、人を探し、打ち合わせを行い……と、動き出す前の準備だけでもかなりの負荷が想像されます。

しかし、今回の例のようなAzure OpenAI活用をすれば、

  • 24時間365日いつでも質問できる
  • スケジュール調整が不要
  • 圧倒的な回答スピード(即座に聞いて即座に回答:数秒)
  • コストは利用トークン数×単価(1人月単価との比較)
  • 先ほどの例で言えば、COBOLの知識がなくとも稼働するプログラムを1日もかからず実装できる
  • 細かなところに関しては、COBOLに熟知した人も必要と考えるが、人間に聞かないといけない部分が大幅に減る

といったようなメリットが享受できます

写真 寺田氏が実践した、Azure OpenAIを利用してCOBOLのコードをJavaへマイグレーションするデモの様子。ものの数秒で基本のマイグレーションコードが生成され、会場内には驚きの声が挙がった
写真

今回は簡素化した例ではありましたが、デモンストレーションから、Azure OpenAIの実用性や可能性を大いに感じることができました。

講演の締めくくりに、寺田氏は「マイクロソフトではこれ以外にもGPT-4を活用した実ビジネスでの利用するためのノウハウがあります。企業環境での活用に興味のあるお客様は、担当営業経由でぜひマイクロソフトに問い合わせをしてください」と紹介しました。

そして、オープニングセッションのまとめに、改めて「やっと対面でのイベントができるようになってきました。今、ご参加いただいている皆さまには今日1日のイベントを十分に楽しんでもらうとともに、ぜひ参加者の皆さま同士での交流を深めていただき、リアルイベントの良さを思いっきり体験してください」として、締めくくりました。

写真 久しぶりの対面・リアルイベントの幕開け。開発者の皆さんにとって待ちに待ったときが訪れた
写真

情報デモの中で紹介された主なURLです。

おすすめ記事

記事・ニュース一覧