OPS05-BP04 빌드 및 배포 관리 시스템 사용 - AWS Well-Architected Framework

OPS05-BP04 빌드 및 배포 관리 시스템 사용

빌드 및 배포 관리 시스템을 사용합니다. 이러한 시스템에서는 수동 프로세스에서 발생하는 오류와 변경 사항 배포를 위한 작업량을 줄일 수 있습니다.

AWS에서는 다음과 같은 서비스를 사용하여 지속적 통합 및 지속적 배포(CI/CD) 파이프라인을 구축할 수 있습니다. AWS 개발자 도구 (예: AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, AWS CodeDeployAWS CodeStar).

원하는 결과: 빌드 및 배포 관리 시스템은 올바른 구성으로 안전한 롤아웃을 자동화하는 기능을 제공하는 조직의 CI/CD(지속적 통합 지속적 전달) 시스템을 지원합니다.

일반적인 안티 패턴:

  • 개발 시스템에서 코드를 컴파일한 후 실행 파일을 프로덕션 시스템에 복사하면 실행 파일이 시작되지 않습니다. 로컬 로그 파일은 누락된 종속성으로 인해 실패했음을 나타냅니다.

  • 개발 환경에서 새로운 기능을 사용하여 애플리케이션을 성공적으로 빌드하고 코드를 품질 보증(QA) 팀에 제공합니다. 정적 자산이 누락되어 QA에 실패합니다.

  • 금요일에는 많은 노력을 기울이고 새로 코딩된 기능을 포함하여 개발 환경에서 수동으로 애플리케이션을 성공적으로 빌드했습니다. 월요일에는 애플리케이션을 성공적으로 빌드할 수 있는 단계를 반복할 수 없습니다.

  • 새 릴리스에 대해 생성한 테스트를 수행합니다. 그리고 다음 주에 테스트 환경을 설정하고 모든 기존 통합 테스트를 수행한 후 성능 테스트를 수행합니다. 새 코드는 용인할 수 없는 성능 영향을 미치므로 재개발한 후 다시 테스트해야 합니다.

이 모범 사례 확립의 이점: 빌드 및 배포 활동을 관리하는 메커니즘을 제공하여 반복적인 작업 수행을 위한 작업량을 줄이고, 팀원들이 고가치 창조 작업에 집중할 수 있게 하고, 수동 절차에서 발생하는 오류의 도입을 제한할 수 있습니다.

이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 보통

구현 가이드

빌드 및 배포 관리 시스템은 변경 사항을 추적 및 구현하고, 수동 프로세스로 인한 오류를 줄이고, 안전한 배포에 필요한 노력을 줄이는 데 사용됩니다. 코드 체크 인에서 빌드, 테스트, 배포 및 확인까지의 전체 통합 및 배포 파이프라인을 완전히 자동화합니다. 이를 통해 리드 타임, 비용 절감, 변경 빈도 증가, 작업량 감소, 협업 증대 등의 효과를 얻을 수 있습니다.

구현 단계

AWS CodePipeline과 관련 서비스를 사용하는 CI/CD 파이프라인을 보여주는 다이어그램

AWS CodePipeline과 관련 서비스를 사용하는 CI/CD 파이프라인을 보여주는 다이어그램

  1. 자산(예: 문서, 소스 코드, 바이너리 파일) 의 버전을 관리하고, 저장하고, 관리하는 데 AWS CodeCommit를 사용합니다.

  2. 소스 코드를 컴파일하고, 단위 테스트를 실행하고, 배포할 준비가 된 아티팩트를 생성하는 데 CodeBuild를 사용합니다.

  3. CodeDeploy를 Amazon EC2 인스턴스, 온프레미스 인스턴스, 서버리스 AWS Lambda 기능또는 Amazon ECS에 애플리케이션 배포를 자동화하는 배포 서비스로 사용하세요.

  4. 배포를 모니터링하세요.

리소스

관련 모범 사례:

관련 문서:

관련 동영상: