日本マイクロソフト株式会社は2023年4月26日、同社では3回目となるJava on Azureに関するイベント、Java on Azure Day 2023を開催しました。今回は、日本マイクロソフト品川本社でCOVID-19以降初となる対面イベントで、基調講演は満席で立ち見になるほどの大変な賑わいでした。
本記事では、Java on Azure Day 2023の基調講演でマイクロソフトが発表した内容を速報としてまとめます。
基調講演は、マイクロソフト本社所属のシニア・
冒頭で寺田氏は
GitHub Copilot が Java 開発者にも手助け!AI によるペアプログラマの活用法~Damian Brady:GitHub, Inc. Developer Division Developer Advocate
基調講演の最初は、GitHubでDeveloper Advocateのチーム・
Damian氏は
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にご登録ください。
最後に
マイクロソフトが提供するJava開発者向けのエンドツーエンド クラウド体験~Scott Hunter:Microsoft Corporation Developer Division Vice President
次に、寺田氏はマイクロソフトにおけるJavaの取り組みを紹介したいということで、Microsoft本社開発部門のVice PresidentであるScott Hunter氏を招き、Scott氏からビデオメッセージという形で説明を行いました。
ご存知ない方も多いかもしれませんが、実は、マイクロソフトの社内ではJavaのアプリケーションが大量に稼働し、Javaを利用したサービスも多く提供していることが紹介されました。
マイクロソフトは、2008年からJavaに対する投資を増加し、コミュニティに向けた開発を進めてきた結果、Java on Azureのサービス群は着実に進化し続けています。マイクロソフト社内では200万以上のJavaVMが稼働し、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
マイクロソフトは、引き続き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で監視:この内容を日本語化した内容をデモ内では表示
- JavaのSpring Boot、C#、Python、Node.
-
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 を活用する事例
Azure OpenAIを利用すると、そこで扱うデータはユーザのものであり、AI自身のトレーニングや学習には利用されません。また、セキュリティを考慮し、閉じたネットワークからだけアクセスできるように設定できるなど、現在、AI活用で懸念されている点について、企業の中で持っている機密データなども安心して扱えることを紹介しました。
さらに、GPT-4の32kを利用すると、OpenAIを活用できる場が広がります。今回はその一例として、COBOLからJavaへのマイグレーションについて取り上げました。
ちなみに、今回のような内容をCOBOLに精通したエンジニアに依頼
しかし、今回の例のようなAzure OpenAI活用をすれば、
- 24時間365日いつでも質問できる
- スケジュール調整が不要
- 圧倒的な回答スピード
(即座に聞いて即座に回答:数秒) - コストは利用トークン数×単価
(1人月単価との比較) - 先ほどの例で言えば、COBOLの知識がなくとも稼働するプログラムを1日もかからず実装できる
- 細かなところに関しては、COBOLに熟知した人も必要と考えるが、人間に聞かないといけない部分が大幅に減る
といったようなメリットが享受できます
今回は簡素化した例ではありましたが、デモンストレーションから、Azure OpenAIの実用性や可能性を大いに感じることができました。
講演の締めくくりに、寺田氏は
そして、オープニングセッションのまとめに、改めて
情報:デモの中で紹介された主なURLです。