DevTest Labs를 사용하는 Azure Pipelines 아키텍처

중요

DevTest Labs를 사용하는 CI/ CD는 Azure DevOps를 사용하여 CI/CD 파이프라인 디자인의 변형입니다. 이 문서에서는 DevTest Labs 스테이징 환경에 배포하는 세부 사항에 중점을 둡니다.

DevTest Labs를 사용하면 재사용 가능한 템플릿 및 아티팩트를 사용하여 Windows 및 Linux 환경을 프로비전할 수 있습니다. 이러한 환경은 개발자에게 유용할 수 있지만 스테이징 환경을 프로비전하기 위해 CI/CD 파이프라인에서도 사용할 수 있습니다. Azure DevTest Labs 시나리오를 참조하여 DevTest 랩이 시나리오에 적합한지 확인합니다.

이 문서에서는 Azure Pipelines를 사용하여 CI(연속 통합) 및 CD(지속적인 배포) 사례를 사용하여 애플리케이션 변경 내용을 배포하기 위한 고급 DevOps 워크플로에 대해 설명합니다. DevTest Labs 환경은 스테이징 환경에 사용됩니다.

아키텍처

스테이징 환경에 Azure DevTest Labs 사용하는 Azure Pipelines를 사용하는 CI/CD 파이프라인의 아키텍처 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

데이터 흐름

이 섹션에서는 Azure Pipelines 기준 아키텍처를 읽었으며 스테이징을 위해 Azure DevTest Labs 워크로드 배포의 세부 사항에만 중점을 두고 있다고 가정합니다.

  1. PR 파이프라인 - 기준선과 동일

  2. CI 파이프라인 - 기준선과 동일

  3. CD 파이프라인 트리거 - 기준선과 동일

  4. CD에서 DevTest Labs 스테이징 환경 만들기 - 이 단계에서는 스테이징 환경 역할을 하는 DevTest Labs 환경을 만듭니다. 이 단계에는 다음이 포함됩니다.

    • 스테이징 구독에서 Azure DevTest Labs 환경을 만듭니다.
    • DEVTest Labs 환경에 ARM 템플릿을 배포합니다. Virtual Machine 이미지는 공유 이미지 갤러리에 저장할 수 있습니다.
    • 배포 후 단계를 수행하여 스테이징 환경을 올바르게 구성합니다.
  5. 스테이징에 CD 릴리스 - 한 가지 예외가 있는 기준과 동일합니다. 스테이징 환경은 DevTest Labs 환경입니다.

  6. 프로덕션 - 으로 CD 릴리스기준선과 동일

  7. 모니터링 - 기준선과 동일

구성 요소

이 섹션에서는 Azure Pipelines 기준 아키텍처 구성 요소 섹션을 읽었으며 스테이징을 위해 Azure DevTest Labs 워크로드를 배포하는 세부 사항에만 중점을 두고 있다고 가정합니다.

  • Azure DevTest Labs 개발, 테스트 및 배포 목적으로 사용되는 환경을 만들고, 사용하고, 관리하기 위한 서비스입니다. 이 서비스를 사용하면 비용 효율적인 방식으로 미리 구성된 환경을 쉽게 배포할 수 있습니다.

대안

  • CD 프로세스의 일부로 DevTest Labs 스테이징 환경을 만드는 대신 파이프라인 외부에서 환경을 미리 만들 수 있습니다. 이렇게 하면 파이프라인 속도를 높일 수 있는 긍정적인 이점이 있습니다. 이 대안은 파이프라인이 완료된 후 환경을 해체하는 기능을 중지하여 비용을 증가합니다.

  • VM Image Builder 및 Shared Image Gallery가 작동하지 않는 경우, 이미지 팩터리를 설정하여 CI/CD 파이프라인에서 VM 이미지를 빌드하고 해당 이미지에 등록된 모든 Azure DevTest Labs에 자동으로 배포할 수 있습니다. 자세한 내용은 Azure DevOps에서 이미지 팩터리 실행을 참조하세요.

  • 스테이징 이외의 추가 환경을 만들고 CD 파이프라인의 일부로 에 배포할 수 있습니다. 이러한 환경은 성능 테스트 및 사용자 승인 테스트와 같은 활동을 지원할 수 있습니다.

고려 사항

이 섹션에서는 Azure Pipelines 기준 아키텍처의 고려 사항 섹션을 읽었으며 스테이징을 위해 Azure DevTest Labs 워크로드를 배포하는 세부 사항에만 중점을 두고 있다고 가정합니다.

비용 최적화

운영 효율성

  • 롤백, 수동 수용 테스트 및 성능 테스트와 같은 기능을 사용하도록 스테이징 및 프로덕션 이외의 환경을 구현하는 것이 좋습니다. 스테이징을 롤백 환경으로 사용하면 다른 용도로 해당 환경을 사용할 수 없게 됩니다.

다음 단계