다음을 통해 공유


지능형 애플리케이션 워크로드에 대한 배포 및 테스트 고려 사항

정상적인 ALM(애플리케이션 수명 주기 관리) 프로세스를 유지하여 프로덕션 문제를 방지하고 회귀를 신속하게 해결합니다.

ALM 전략 결정

버전 제어, CI/CD(지속적인 통합/지속적인 배포) 및 자동화된 테스트를 포함하는 포괄적인 ALM 전략을 개발하여 개발 프로세스의 효율성과 확장성을 보장합니다.

단순에서 고급 CI/CD에 이르기까지 옵션을 평가합니다.

  • 솔루션의 수동 배포.
  • 사용자 친화적인 Power Platform의 파이프라인을 통한 자동 배포(소스 제어 없음).
  • Azure DevOps 또는 GitHub Power Platform Tools를 사용한 자동화된 배포 + 소스 제어.
  • 배포 프로세스의 일부로 지능형 응용 프로그램 워크로드의 자동화된 테스트.

환경 관리를 위한 솔루션 사용

개발, 테스트 및 프로덕션을 위한 별도의 환경을 유지 관리합니다. 이 방법은 문제를 격리하는 데 도움이 되며 변경 사항이 사용자에게 도달하기 전에 철저히 테스트되도록 합니다.

솔루션을 사용하면 Microsoft Copilot Studio에서 만든 플러그 인을 서로 다른 환경으로 이동할 수 있습니다.

주요 권장 사항 및 고려 사항:

  • 솔루션의 컨텍스트 내에서 작업: 모든 개발이 솔루션의 프레임워크 내에서 수행되도록 합니다.
  • 독립적 배포를 위한 별도의 솔루션: 구성 요소를 독립적으로 배포해야 하는 경우에만 고유한 솔루션을 만듭니다.
  • 제한 사항 이해: 자동화된 배포의 제한 사항을 이해하고 배포 후 수동으로 설정하거나 업데이트해야 하는 설정(예: Application Insights 통합, 배포된 채널 및 보안 설정)을 평가합니다.
  • 사용자 지정 게시자 및 접두사 사용: 더 나은 구성 및 관리를 위해 사용자 지정 게시자 및 접두사를 구현합니다.
  • 환경 변수 사용: 환경에 따라 달라지는 설정과 비밀에는 환경 변수를 사용합니다.
  • 관리형 솔루션으로 내보내기 및 배포: 개발 환경을 설정할 때를 제외하고 솔루션을 관리형 솔루션으로 내보내고 배포합니다.
  • 사용자 지정을 개발로 제한: 개발 환경 외부에서 사용자 지정을 수행하지 마세요.
  • ALM 프로세스 자동화: 소스 제어 및 자동화된 배포를 위해 ALM을 자동화하는 것이 좋습니다.

이 예에서는 지능형 애플리케이션 워크로드의 배포 전략에 대한 개요를 제공하고 개발, 테스트(테스트), 품질 보증(QA) 및 프로덕션(Prod)과 같은 각 환경과 관련된 역할 및 프로세스에 대해 설명합니다.

솔루션 구성 예제

  1. 개발 환경(Dev):

    • 목적: 솔루션의 초기 생성 및 사용자 지정을 위한 것입니다.
    • 활동: 개발자는 앱, 흐름 및 에이전트와 같은 구성 요소를 빌드하고 수정합니다. 모든 사용자 지정 및 구성이 여기에서 수행됩니다.
    • 주요 사례:
      • 모든 구성 요소에 대해 사용자 지정 게시자 및 접두사를 사용합니다.
      • 설정 및 비밀에 대한 환경 변수를 구현합니다.
      • 모든 변경 사항이 버전 제어되고 문서화되었는지 확인합니다.
  2. 테스팅 환경(테스트):

    • 목적: 개발된 솔루션의 예비 검증 및 테스트를 위한 것입니다.
    • 활동: 솔루션은 개발 환경에서 관리형 솔루션으로 내보내지고 테스트 환경으로 가져옵니다. 기능 및 통합 테스트는 문제를 조기에 식별하고 해결하기 위해 수행됩니다.
    • 주요 사례:
      • 실제 시나리오를 시뮬레이션하기 위해 별도의 테스트 환경을 유지 관리합니다.
      • 환경 변수를 사용하여 테스트 환경과 관련된 설정 및 비밀을 관리합니다.
      • 배포 프로세스를 자동화하여 일관성과 반복성을 보장합니다.
  3. 품질 보증 환경(Q.A. 또는 QA):

    • 목적: 철저한 품질 보증 및 사용자 수용 테스트(UAT)에 전념합니다.
    • 활동: 관리형 솔루션은 테스트 환경에서 QA 환경으로 가져옵니다. 솔루션이 모든 요구 사항과 표준을 충족하는지 확인하기 위해 성능, 보안 및 UAT를 포함한 광범위한 테스트가 수행됩니다.
    • 주요 사례:
      • 환경 변수를 사용하여 QA 관련 설정 및 비밀을 관리합니다.
      • UAT에 사용자를 참여시켜 피드백을 수집하고 솔루션이 요구 사항을 충족하는지 확인합니다.
      • 가능한 경우 테스트 프로세스를 자동화하여 효율성과 정확성을 높입니다.
  4. 프로덕션 환경(Prod):

    • 목적: 사용자용 솔루션의 라이브 버전을 호스팅합니다.
    • 활동: QA 테스트에 성공한 후 관리형 솔루션을 QA 환경에서 내보내고 프로덕션 환경으로 가져옵니다. 이 환경은 안정성과 신뢰성을 보장하기 위해 엄격하게 제어됩니다.
    • 주요 사례:
      • 무단 변경을 방지하기 위해 솔루션을 관리되는 상태로 배포합니다.
      • 환경 변수를 사용하여 프로덕션별 설정 및 비밀을 관리합니다.
      • 솔루션을 모니터링 및 유지 관리하여 최적의 성능을 보장하고 문제를 즉시 해결합니다.

전반적인 전략:

  • 관심사 분리: 각 환경은 개발, 테스트, QA 및 프로덕션 활동이 서로 간섭하지 않도록 하는 고유한 목적을 제공합니다.
  • 자동화: 소스 제어, 테스트 및 배포를 포함한 ALM 프로세스를 자동화하여 효율성을 높이고 오류 위험을 줄입니다.
  • 일관성: 환경 변수 및 자동화된 배포 스크립트를 사용하여 환경 간에 일관성을 유지합니다.

테스트 전략 수립

지능형 애플리케이션 워크로드 및 통합이 예상대로 작동하는지 검증하기 위한 명확한 계획이 있어야 합니다.

  • 지능형 애플리케이션 워크로드에 대한 테스트 전략을 정의합니다. 테스트 프레임워크를 사용하여 사용자 발화를 대량으로 테스트하고 적절한 토픽이 트리거되는지 또는 첫 번째 "did you mean" 옵션이 90%의 경우 올바른지 확인합니다.

  • Test Framework 규모 테스트 기능을 사용하여 전체 종단 간 대화 테스트의 일부로 통합을 테스트합니다.

  • Power CAT Copilot Studio Kit를 사용하여 에이전트 및 테스트를 구성합니다. Copilot Studio API(Direct Line)에 대해 개별 테스트를 실행하고 예상 결과에 대해 에이전트 응답을 평가합니다.

  • 가용성, 규정 준수, 데이터 보존/상주, 성능, 개인 정보 보호, 복구 시간, 보안, 확장성과 같은 비기능적 요구 사항을 이해하고 있는지 확인하세요. 예를 들어, 웹사이트의 채팅 위젯은 클릭한 후 5초 이내에 로드되고 대화를 시작해야 합니다. 마찬가지로 사용자에게 정보를 반환하도록 트리거된 클라우드 흐름은 10초 이내에 원하는 데이터를 제공해야 합니다.