次の方法で共有


インテリジェントなアプリケーションのワークロードの展開とテストに関する考慮事項

正常なアプリケーション ライフサイクル管理 (ALM) プロセスを維持して、運用上の問題を回避し、リグレッションに迅速に対処します。

ALM 戦略を決定する

バージョン管理、継続的インテグレーション/継続的展開 (CI/CD)、自動テストを含む包括的な ALM 戦略を開発して、開発プロセスの効率性と拡張性を確保します。

シンプルなものから高度な CI/CD まで、さまざまなオプションを評価します。

  • ソリューションの手動展開。
  • ユーザーフレンドリーなPower Platform のパイプラインによる自動展開 (ソース管理なし)。
  • Azure DevOps または GitHub Power Platform Tools による自動展開+ソース管理。
  • 展開プロセスの一環としてのインテリジェント アプリケーション ワークロードの自動テスト。

環境管理のためのソリューションを使用する

開発、テスト、運用環境はそれぞれ別々に維持します。 これにより、問題を特定し、ユーザーに到達する前に変更が徹底的にテストされるようにすることができます。

異なる環境間で Microsoft Copilot Studio で作成されたプラグインを移動するには、ソリューションを使用します。

主な推奨事項と考慮事項:

  • ソリューションのコンテキスト内で作業する: すべての開発がソリューションのフレームワーク内で行われるようにします。
  • 独立した展開のための個別のソリューション: コンポーネントを個別に展開する必要がある場合にのみ、個別のソリューションを作成します。
  • 制限事項の理解: 自動展開の限界を理解し、展開後に手動で設定または更新が必要な設定 (Application Insights 統合、展開されたチャネル、セキュリティ設定など) を評価します。
  • カスタムの発行元と接頭辞を使用する: カスタムの発行元と接頭辞を実装して、整理と管理を改善します。
  • 環境変数を使用する: 環境ごとに異なる設定や機密情報には、環境変数を使用します。
  • 管理ソリューションとしてエクスポートして展開する: 開発環境を設定する場合を除き、管理ソリューションをエクスポートして展開します。
  • カスタマイズを開発に制限する: 開発環境の外部でカスタマイズを行うことは避けてください。
  • ALM プロセスを自動化する: ソース管理と自動展開のために ALM の自動化を検討します。

この例では、インテリジェントなアプリケーションのワークロードの展開戦略の概要を説明し、開発 (Dev)、テスト (Test)、品質保証 (QA)、運用 (Prod) の各環境に関連する役割とプロセスについて説明します。

ソリューション構成例

  1. 開発環境 (Dev):

    • 目的: ソリューションの初期作成とカスタマイズ。
    • アクティビティ: 開発者は、アプリ、フロー、エージェントなどのコンポーネントを構築し、修正します。 すべてのカスタマイズと構成はここで実行されます。
    • キー プラクティス:
      • すべてのコンポーネントにカスタム発行元と接頭辞を使用します。
      • 設定とシークレットの環境変数を実装します。
      • すべての変更がバージョン管理され、文書化されていることを確認します。
  2. テスト環境 (Test):

    • 目的: 開発したソリューションの事前検証とテストのため。
    • アクティビティ: ソリューションは、管理ソリューションとして開発環境からエクスポートされ、テスト環境にインポートされます。 問題を早期に特定して解決するために、機能テストと統合テストが実施されます。
    • キー プラクティス:
      • 実際のシナリオをシミュレートするために、別のテスト環境を維持します。
      • 環境変数を使用して、テスト環境に固有の設定とシークレットを管理します。
      • 展開のプロセスを自動化して、一貫性と再現性を確保します。
  3. 品質保証環境 (Q.A. または QA):

    • 目的: 徹底した品質保証とユーザー受け入れテスト (UAT) に専念します。
    • アクティビティ: 管理ソリューションはテスト環境から QA 環境にインポートされます。 パフォーマンス、セキュリティ、UAT などの広範なテストを実施して、ソリューションがすべての要件と標準を満たしていることを確認します。
    • キー プラクティス:
      • 環境変数を使用して、QA 固有の設定とシークレットを管理します。
      • UAT にユーザーを参加させてフィードバックを収集し、ソリューションがユーザーのニーズを満たしていることを確認します。
      • 可能な限りテストのプロセスを自動化して、効率と精度を向上させます。
  4. 運用環境 (Prod):

    • 目的: ソリューションのライブ、ユーザー向けバージョンをホストします。
    • アクティビティ: QA テストが成功すると、管理ソリューションが QA 環境からエクスポートされ、運用環境にインポートされます。 この環境は、安定性と信頼性を確保するために厳密に制御されています。
    • キー プラクティス:
      • 管理されたとおりにソリューションを展開し、不正な変更を防ぎます。
      • 環境変数を使用して、運用環境固有の設定とシークレットを管理します。
      • ソリューションを監視および保守して、最適なパフォーマンスを確保し、問題に迅速に対処します。

全体的な戦略:

  • 関心の分離: 各環境は異なる目的を果たし、開発、テスト、QA、および運用アクティビティが互いに干渉しないようにします。
  • 自動化: ソース管理、テスト、展開などの ALM プロセスを自動化して、効率を高め、エラーのリスクを軽減します。
  • 一貫性: 環境変数と自動展開スクリプトを使用して、環境間の一貫性を維持します。

テスト戦略の確立

インテリジェントなアプリケーションのワークロードと統合が期待通りに機能していることを確認する、明確な計画を立てましょう。

  • インテリジェントなアプリケーションワークロードのテスト戦略を定義します。 フレームワークのテストを使用して、ユーザーの発話を一括してテストし、適切なトピックがトリガーされること、または最初の「Did you mean (もしかして…)」オプションが 90% のケースで正しいことを検証します。

  • テスト フレームワークのスケールテスト機能を使用して、完全なエンドツーエンドの会話テストの一部として統合をテストします。

  • Power CAT Copilot Studio きっとを使用して、エージェントとテストを構成できます。 Copilot Studio API (Direct Line) に対して個々のテストを実行し、期待される結果に対してエージェントの応答を評価します。

  • 可用性、コンプライアンス、データ保持/データ所在地、パフォーマンス、プライバシー、回復時間、セキュリティ、スケーラビリティなどの非機能要件を必ず理解してください。 たとえば、Web サイト上のチャット ウィジェットは、クリックされてから 5 秒以内に読み込まれ、会話を開始する必要があります。 同様に、ユーザーに情報を返すようにトリガーされるクラウド フローは、10 秒以内に必要なデータを提供する必要があります。