다음을 통해 공유


환경

지속적인 업데이트 프로세스를 사용하여 프로덕션에 새 가치를 빠르고 안전하게 제공합니다. 작은 변경 내용을 자주 배달하여 문제의 위험을 줄일 수 있습니다.

여러 배달/배포 환경 채택을 포함하여 다른 요인은 "프로덕션에 대한 배포 고통"에 영향을 줍니다. 다중 환경 접근 방식을 사용하면 더 빠른 속도와 빈도로 코드를 빌드, 테스트 및 릴리스하여 배포를 최대한 간단하게 만들 수 있습니다. 수동 오버헤드 및 수동 릴리스의 위험을 제거하고 대신 다양한 환경을 대상으로 하는 다단계 프로세스를 사용하여 개발을 자동화할 수 있습니다.

일반적인 다중 환경 아키텍처에는 다음 네 가지 계층이 포함됩니다.

  • 개발
  • 테스트
  • 준비
  • 프로덕션

이 아키텍처에서 제품은 프로덕션(사용자가 직접 상호 작용하는 환경)을 통해 개발(소프트웨어에 대한 변경 내용을 개발하는 환경)에서 순서대로 전환됩니다. 엔드투엔드 비즈니스 흐름의 유효성을 검사하기 위해 UAT(사용자 승인 테스트) 환경을 도입할 수도 있습니다.

Environment 설명
개발 개발 환경(개발)에서는 소프트웨어에 대한 변경 내용이 개발됩니다.
테스트 테스트 환경을 사용하면 사용자 테스터 또는 자동화된 테스트에서 새 코드와 업데이트된 코드를 사용할 수 있습니다. 개발자는 개발 환경에서 단위 테스트를 통해 새 코드 및 구성을 수락해야 해당 항목이 하나 이상의 테스트 환경에 진입할 수 있습니다.
스테이징 준비는 프로덕션에 배포하기 직전에 최종 테스트를 수행하는 위치입니다. 각 준비 환경은 가능한 한 정확하게 실제 프로덕션 환경을 미러링해야 합니다.
UAT UAT(사용자 승인 테스트)를 사용하면 최종 사용자 또는 클라이언트는 소프트웨어 애플리케이션이 프로덕션 환경으로 이동하기 전에 소프트웨어 시스템을 확인/수락하는 테스트를 수행할 수 있습니다.
생산 프로덕션 환경(프로덕션)(라이브라고도 함)은 사용자가 직접 상호 작용하는 환경입니다.

디자인 고려 사항

Azure 랜딩 존 및 Azure 워크로드 개발 모두에 다음 고려 사항을 적용합니다.

  • 테스트 환경은 플랫폼 개발자가 프로덕션에 배포하기 전에 변경 내용을 테스트할 수 있게 하여 프로덕션에서의 배달과 관련된 위험을 줄여주기 때문에 중요합니다.
  • 환경을 가능한 한 비슷하게 유지하면 테스트의 첫 번째 단계에서 환경 관련 오류를 쉽게 찾을 수 있으므로 개발 및 테스트 속도와 안정성이 향상됩니다.
  • 환경 구성에 불일치가 있는 경우 "구성 드리프트"가 발생하여 데이터가 손실되고 배포가 느려지고 오류가 발생할 수 있습니다.
  • IaC(코드 제공 인프라)를 채택하여 배포 속도를 높이고 환경 일관성을 개선하며 환경 간 "구성 드리프트"를 줄일 수 있습니다.
  • 프로덕션에서 제한된 테스트 사용자 집합에서만 새 기능을 사용할 수 있도록 하고 프로덕션으로 릴리스하는 시간을 줄이는 카나리아 또는 파란색-녹색 배포와 같은 방법을 채택하는 것이 좋습니다.
  • 테스트 결과에 대한 검사를 사용하여 개발에서 프로덕션으로 코드의 전환을 제어합니다. 테스트 실패로 인해 변경 내용이 다음 환경에 자동으로 배포되지 않도록 이러한 컨트롤을 자동화할 수 있습니다.
  • 지정된 사용자가 코드를 프로덕션에 배포하기 전에 끌어오기 요청을 검토하도록 합니다. 분기 전략과 함께 리포지토리를 사용하여 검토 프로세스를 관리하는 것이 좋습니다.
  • 모든 개발자가 모든 환경에 액세스할 수 있도록 하여 사일로를 방지합니다.

워크로드

워크로드에 대한 환경을 관리하는 방법을 알아보려면 엔터프라이즈 규모 FAQ를 참조하세요.

Azure 랜딩 존

고객이 새 Azure Policy 할당, Azure RBAC 역할 할당, Microsoft Entra 그룹 멤버 자격, Azure 리소스 만들기 등의 효과와 결과를 테스트하려는 경우 Azure 랜딩 존 배포를 위해 여러 환경을 채택하는 것이 일반적입니다.

엔터프라이즈 규모에 대한 테스트 접근 방식은 다음과 같은 두 가지 채택 방법을 설명합니다.

  • 카나리아 및 프로덕션 환경에서 관리 그룹 계층 구조 복제
  • 샌드박스 구독

팔로우하는 방법에 관계없이 항상 다음을 수행해야 합니다.

  • 테스트를 위해 하나 이상의 환경을 채택합니다.
  • 테스트 및 프로덕션 목적으로 분리된 서비스 주체를 사용하여 환경을 보호합니다.
  • 특정 환경에 변경 내용을 배포하기 전에 변경 내용의 유효성을 검사하고 승인하는 자동화된 검사 및 승인을 구현합니다.

다음 단계