SUS06-BP03 구축 환경의 사용률 제고
워크로드를 개발, 테스트 및 구축하기 위한 리소스 활용도를 높입니다.
일반적인 안티 패턴:
-
구축 환경을 수동으로 프로비저닝하거나 종료합니다.
-
테스트, 구축 또는 릴리스 작업과 별개로 구축 환경을 계속 실행 중인 상태로 유지합니다(예: 개발 팀원이 근무 시간 외에 환경을 실행).
-
구축 환경에 리소스를 과도하게 프로비저닝합니다.
이 모범 사례 확립의 이점: 빌드 환경의 활용률을 높임으로써 클라우드 워크로드의 전반적인 효율성을 개선하는 동시에 효과적으로 개발, 테스트 및 구축 작업을 수행하도록 빌더에 리소스를 할당할 수 있습니다.
이 모범 사례를 따르지 않을 경우 노출되는 위험 수준: 낮음
구현 가이드
자동화와 코드형 인프라를 사용하여 필요 시 빌드 환경을 가동하고 사용하지 않을 때는 해당 환경을 종료합니다. 일반적인 패턴은 개발 담당 팀원의 근무 시간과 일치하는 가용 기간을 예약하는 것입니다. 테스트 환경은 프로덕션 구성과 매우 유사해야 합니다. 그러나 버스트 용량, Amazon EC2 스팟 인스턴스, 자동 확장 데이터베이스 서비스, 컨테이너 및 서버리스 기술과 함께 인스턴스 유형을 사용하여 개발 및 테스트 용량을 용도에 맞게 조정할 수 있는 기회를 찾아야 합니다. 테스트 요구 사항만 충족하도록 데이터 볼륨을 제한합니다. 테스트에서 프로덕션 데이터를 사용하는 경우 프로덕션 데이터를 공유하고, 데이터를 이동하지 않을 수 있는지 알아봅니다.
구현 단계
-
코드형 인프라를 사용하여 구축 환경을 프로비저닝합니다.
-
자동화를 사용하여 개발 및 테스트 환경의 수명 주기를 관리하고 구축 리소스의 효율성을 극대화합니다.
-
전략을 사용하여 개발 및 테스트 환경의 활용도를 극대화합니다.
-
현실적인 최소한의 재현 환경을 사용하여 잠재적 개선 사항을 개발 및 테스트합니다.
-
가능한 경우 서버리스 기술을 사용합니다.
-
온디맨드 인스턴스를 사용하여 개발자 디바이스를 보완합니다.
-
버스트 용량이 포함된 인스턴스 유형, 스팟 인스턴스 및 기타 기술을 사용하여 사용량에 맞게 구축 용량을 조정합니다.
-
배스천 호스트 플릿을 배포하는 대신 네이티브 클라우드 서비스를 도입하여 보안 인스턴스 셸에 액세스합니다.
-
구축 작업에 따라 구축 리소스를 자동으로 확장합니다.
-
리소스
관련 문서:
관련 동영상:
-
Continuous Integration Best Practices
(지속적 통합 모범 사례)