
【速報】Microsoft Build 2025:ローコードとDevOpsでAIアプリをより速く構築・導入(講演レポート)
米時間2025年5月19日~22日、シアトルにて開催されているMicrosoft主催の開発者向けイベント「Microsoft Build 2025」。
本記事では、「Build and deploy AI apps faster with low code and DevOps(ローコードとDevOpsでAIアプリをより速く構築・導入)」の講演内容をご紹介します。
セッション概要(公式)
公式サイトで公開されているセッション概要は、以下の通りです。
Power Platform と DevOps を活用して、開発チームが AI 対応アプリケーションをより迅速に構築する方法をご紹介します。
新しい開発機能と DevOps のベストプラクティスを組み合わせることで、エンタープライズグレードのアプリをより迅速に構築、テスト、展開できるようになる方法をご紹介します。
引用元:Build and deploy AI apps faster with low code and DevOps
はじめに
本講演は、「市民開発者向けのツール」と言われる事が多いPower Platformについて、市民開発者向けというのは誤解であり、プロの開発者にとっても強力なプラットフォームであることを示すことを目的としています。
セッションは以下のアジェンダで構成され、ライブデモを中心に展開されました。
- フュージョン開発:ローコードとプロコードを組み合わせた開発アプローチの紹介
- 自動テスト:Power Platformでのテスト手法と新機能「Power Apps Test Engine」のデモ
- ビルドとデプロイ:自動化されたビルドおよびデプロイパイプラインのデモ
- モニタリングと新機能:運用環境でのアプリケーション監視とアラート機能の紹介
- プロ開発者向けの未来:Power Platformの新機能「Peck CLI」およびコードアプリのデモ
Power Platformの強みは、ノーコード、ローコード、プロコードのいずれの開発スタイルにも対応し、Copilotを活用することで開発者が創造的な作業に集中できる点です。本レポートで、AIアプリをより速く構築・導入を効率的に展開する方法を共に学びましょう。
フュージョン開発とは?
まず初めに、フュージョン開発(Fusion Development)という開発アプローチの概念について説明されました。
フュージョン開発とは、非IT人材でローコード/ノーコード開発者である「市民開発者」と、プロの開発者が協力してアプリケーションを構築するアプローチです。技術的な障壁を取り払い、ビジネス課題を迅速に解決することを目指した考え方です。
デモ① フュージョン開発のプロセスを紹介
フュージョン開発のプロセスを、架空の不動産会社「Contoso Real Estate」を例にしたデモで示しました。以下、デモの流れです。
Maker Portalでの計画作成
「構築の最良の方法は、計画から始めることです」と語り、まずは計画書の作成をデモします。ここでは、Power PlatformのWebサイト開発プラットフォーム「Maker Portal」を使用して計画を作成します。
Copilotに「不動産ソリューションを構築したい」というリクエストを入力し、物件管理、写真表示、価格リスト、セキュアなウェブサイト、モバイルアプリの要件を定義しました。この計画は、ビジュアルエディターを通じて簡単に編集可能です。
Canvas(キャンバス)でアプリケーションを構築
Canvasとは、ドラッグ&ドロップでアプリケーションが構築できるアプリです。デモでは、既存のContoso Real Estate Applicationを選択し、YAML形式のコードスニペットをコピー&ペーストして複数の画面を一括生成しました。
このプロセスでは、市民開発者がコードを理解せずともテンプレートを活用できることを示しています。アプリの保存と公開後、変更内容はソリューションとしてソース管理にコミットされます。
ソースコードの確認とプロ開発者向けの編集
ソリューションのソースコードは、Maker Portal内で確認可能です。プロ開発者向けの視点から、Visual Studio Code(VSCode)を使用してソースコードを直接編集しました。
たとえば、アプリのラベルテキストを変更し、Gitブランチにコミットするプロセスを披露しました。この変更は、Maker Portalで更新をチェックすることで反映されます。
このプロセスでは、市民開発者とプロ開発者がシームレスに連携できることが強調されました。
Power Pagesでのウェブサイト構築
Power Pagesでは、HTMLやCSSを直接編集可能なプロ開発者向けの機能が提供されます。ウェブサイトのヘッダー名を変更し、ソース管理にコミットするプロセスを示しました。
Maker PortalとGitブランチ間で変更が競合した場合、市民開発者はコードを見ずに「現在の変更を保持」または「ブランチの変更を受け入れる」を選択できます。複雑なGit操作を意識する必要がない点が強調されました。
まとめ
このデモを通じて、Power Platformが市民開発者とプロ開発者の双方に対応し、コードとビジュアル開発を統合するプラットフォームであることが明確に示されました。
デモ② テストの自動化
プロ開発者にとって、単体テスト(ユニットテスト)や結合テスト(インテグレーションテスト)はアプリケーションの品質を保証する重要なプロセスです。Power Platformでは、これを簡素化し、さまざまな抽象化レベルでテストを可能にするツールが提供されています。
新機能「Power Apps Test Engine」の概要
Power Apps Test Engineは、パブリックプレビューとして発表された新機能で、以下の特徴を持ちます。
- 抽象化レベルの選択:自然言語、Microsoft Power Fx(ローコードのプログラミング言語)、C#など、開発者が希望するレベルでテストを構築可能。
- 拡張性モデル:データベース、アプリケーション、Microsoft Copilot Studioの自動化フローなど、プラットフォームのさまざまな部分をテスト可能。
- 生成AIの活用:Microsoft Power Fxのシンプルな構文を活用し、生成AIでテストコードを生成・検証。
以下、Power Apps Test Engineを利用した自動テストのプロセスを紹介するための、デモの流れです。
デモの概要
まずはじめに、架空の不動産会社「Contoso Real Estate」のソリューションのバックエンド管理アプリを例に、自動テストのプロセスをデモします。
このアプリでは、物件情報をGPT-4モデルで要約し、モーダルダイアログで表示する機能が含まれています。
アプリケーションの構成と課題
管理アプリでは、物件の詳細(プールや庭の有無など)を入力し、AIサマリーボタンを押すと、JavaScriptを介してGPT-4モデルが物件情報を要約します。ここでは、この「非決定論的なAI出力(生成AIの結果は毎回異なる可能性がある)をテストする」という課題に焦点を当てました。
テストテンプレートの生成
まず、Visual Studio CodeでGitHub Copilotを使用して、テストテンプレートを生成しました。AI Builder用のテンプレートを選択し、ソリューションのコンテキストに基づいてテストケースを生成。生成されたテストフォルダには、ハッピーパス(正常系)、エッジケース、例外ケース用のサブフォルダが含まれていました。
テストケースの詳細
- ハッピーパス:詳細な物件情報を入力した場合、モデルが5点満点で高評価を返すことを検証。
- エッジケース:情報が不足する場合(例:データなし)や、ダミーテキスト(Lorem Ipsum)を入力した場合、低評価(1点)を返すことを検証。
- 例外ケース:異常な入力に対するモデルの反応をテスト。
テスト実行とレポート
PowerShellを使用してテストを実行し、結果をXML形式で出力。生成AIを活用して、AIモデルの出力を評価する別のプロンプトを生成し、1~5の評価を決定論的に取得しました。
テスト結果はレポートとしてまとめられ、開発者が問題を特定し、修正するプロセス(Red-Green-Refactoring)をサポートします。
このデモは、Power Platformが複雑なAIコンポーネントを含むアプリケーションのテストを簡素化し、生成AIを活用して効率的にテストケースを構築できることを示しました。
デモ③自動化パイプラインの構築
ここでは、Power Platformで自動化された、ビルドおよびデプロイパイプラインの構築プロセスをデモしました。プロ開発者にとって、ソース管理とデプロイの自動化はスケーラブルな開発プロセスを目指す上で非常に重要です。
ここでは、架空の不動産会社「Contoso Real Estate」のソリューション変更をコミットし、自動デプロイパイプラインをトリガーするプロセスが示されました。
変更のコミット
まず、Maker Portalでエージェント情報や環境変数の更新を行い、変更をXML形式でソース管理にコミットしました。変更リストは人間が読みやすいYAML形式で表示され、バージョン変更や更新内容が明確に確認できました。
自動デプロイパイプライン
変更をプルリクエストとして提出し、個人開発ブランチからメインブランチにマージ。(現実では自己承認は避けるべきですが、デモでは簡略化のため講演者自身が承認)マージ完了後、Azure DevOpsで自動デプロイパイプラインがトリガーされました。
パイプラインは、Power Platformのコマンドラインツール「Peck CLI」を使用してソースコードをPower Platformのネイティブ形式に変換し、ソリューションを生成。生成されたソリューションは検証環境にインポートされ、公開されました。このプロセスは2~3分で完了し、すべて自動化されています。
講演では、「Peck CLIはまだ公開されておらず、プレリリース版が近日公開予定である」と述べられ、プロ開発者が既存の開発ツール(Azure DevOpsやGitHub)と統合して効率的なデプロイを実現できることを強調しました。
デモ④ 運用環境でのモニタリング
IT管理者や開発者にとって、アプリケーションの安定性とパフォーマンスの監視は非常に重要です。
ここでは、アプリケーションを運用環境にデプロイした後の監視と、新機能であるアラート購読機能について説明されます。また、デモではPower Platform Admin Center(PPAC)のデプロイメントハブを使用して、ソリューションのデプロイと監視を行うプロセスが示されました。
デプロイメントハブ
検証環境にインポートされた架空の不動産会社「Contoso Real Estate」のソリューションを、Power Platformのネイティブパイプラインを使用して本番環境にデプロイ。パイプラインは、ターゲット環境に対して事前検証を行い、AI生成のリリースノートを生成します。
管理者向けのインターフェースでは、保留中のデプロイ要求、ソース管理へのリンク、テストレポート、コメント機能が提供され、承認または拒否の判断が容易です。
失敗したデプロイのトラブルシューティング
デプロイが失敗した場合、管理者や権限を持つユーザーはデプロイメントハブでトラブルシューティングを行い、再試行が可能です。この機能は、市民開発者にも使いやすい設計になっています。
アラート購読機能
Power Platform Admin Centerの監視ページでは、アプリケーションのパフォーマンス指標(アプリのオープン成功率、セッション数、インタラクション時間など)を確認可能です。
ここでは、世界的に有名なビールブランド「HEINEKEN」のデモにて設定したアラートを例に、アプリの成功率が閾値を下回った際にアラートがトリガーされる様子を示しました。管理者は、アラートの受信者を追加し、特定のパラメータを設定することで、問題発生時に即座に通知を受け取れます。
このデモは、Power Platformがプロジェクト単位のスケールだけでなく、組織全体のポートフォリオスケールにも対応し、IT管理者にとって「設定して忘れる」運用が可能なことを示しました。
参考サイト:HEINEKEN unites data and global teams with AI assistant fueled by Azure
プロ開発者向け、新機能「Peck CLI」
セッションの締めくくりとして、プレリリース版が近日公開予定であるPower Platformのプロ開発者向け新機能「Peck CLI」とコードアプリのデモを行いました。これにより、開発者は自身のコードをPower Platformに持ち込み、プラットフォームの接続性や管理機能を活用できます。
Peck CLIは、Microsoft Power Platform向けのコマンドラインツールで、プロ開発者が自身のコードをプラットフォームに統合し、接続性や管理機能を活用してアプリケーションを構築・デプロイするためのツールです。
以下の表は、講演で紹介されたPeck CLIの主要コマンドとその機能、使用例、利点を整理したものです。
peck code init
機能 | 新しいコードアプリを初期化し、Power Platform環境との統合を準備します。認証済みの環境コンテキストを利用し、セキュアな開発基盤を構築します。 |
---|---|
講演での使用例 | Viteで作成した「Hello World」Reactアプリを初期化し、Power Platformとの接続をセットアップ。 |
利点 | 開発者が任意のフレームワーク(例:React)を使用し、プラットフォームのセキュリティや管理機能を活用可能。初期設定が簡単で、インナーループ開発を迅速化。 |
peck code run
機能 | ローカル環境でコードアプリを実行し、Power Platformのコネクターやデータソースにアクセス。ローカルサーバーを起動し、テストを可能にする。 |
---|---|
講演での使用例 | npm run devスクリプト内でpeck code runを呼び出し、ローカルで動作するReactアプリがプラットフォームの接続を利用。 |
利点 | ローカル開発環境でプラットフォームの機能(例:Microsoft 365コネクター)をテスト可能。開発の柔軟性と迅速なフィードバックを実現。 |
peck connection list
機能 | 現在の環境で利用可能な接続(例:Microsoft 365、Dataverse)を一覧表示し、各接続の一意なIDを提供。後続のコマンドで使用可能。 |
---|---|
講演での使用例 | Microsoft 365接続のIDを取得し、アプリに統合する準備。 |
利点 | プラットフォームの豊富なコネクターを簡単に確認・利用可能。開発者はデータソースの選択を効率化。 |
peck code add data source
機能 | 指定したデータソース(例:Microsoft 365)をアプリに追加。接続タイプとIDを指定し、型安全なモデルを生成。 |
---|---|
講演での使用例 | Copilotを活用してコマンドを生成し、Microsoft 365接続を追加。ユーザーの名前、役職、写真、メールを取得。 |
利点 | 型安全なコード記述が可能。Copilotとの統合でコマンド生成が容易。プラットフォームの接続性をアプリにシームレスに組み込める。 |
peck code push
機能 | ビルド済みのアプリをPower Platformにデプロイし、本番環境で公開。プラットフォームのセキュリティや管理機能を活用。 |
---|---|
講演での使用例 | Reactアプリをnpm run buildでビルド後、peck code pushでデプロイ。初回アクセス時に同意画面を表示。 |
利点 | ローカル開発から本番環境へのスムーズなデプロイ。プラットフォームのセキュリティ(同意画面など)を活用し、スケーラブルな運用を実現。 |
peck pages upload code site
機能 | Power Pagesを活用し、カスタムコード(例:Reactアプリ)を外部向けウェブサイトとしてアップロード。仮想エンティティでデータにアクセス。 |
---|---|
講演での使用例 | 外部ウェブサイトの構築例として、ReactアプリをPower Pagesにアップロードするプロセスを説明(パブリックプレビュー)。 |
利点 | 外部向けセキュアなウェブサイトをカスタムコードで構築可能。仮想エンティティによりデータアクセスが簡便。 |
まとめ
本セッションは、Power Platformが市民開発者だけでなく、プロの開発者にとっても強力なプラットフォームであることを明確に示しました。ポイントをまとめます。
- フュージョン開発の柔軟性:Maker PortalとVisual Studio Codeを組み合わせた開発フローは、市民開発者とプロ開発者のシームレスな連携を実現。
- 自動テストの革新:Power Apps Test Engineは、生成AIを活用して複雑なAIコンポーネントのテストを簡素化。
- 自動デプロイと監視:Azure DevOpsやPower Platform Admin Centerのデプロイメントハブを活用した自動化パイプラインとアラート機能は、組織全体のスケーラビリティを向上。
- プロ開発者向けの拡張性:Peck CLIにより、Reactや任意のフロントエンドフレームワークを使用したカスタムアプリの構築が可能。
講演は、開発者コミュニティとの対話を重視し、プラットフォームの進化に開発者の声を反映させる姿勢を示して終了しました。