OPS 5: 귀사는 어떻게 결함을 줄이고 수정 작업을 쉽게 수행하고 프로덕션으로 이어지는 흐름을 개선하십니까?
프로덕션 환경으로 변경 사항을 전달하는 흐름을 개선할 수 있는 방식을 도입합니다. 이 방식은 리팩터링, 품질과 관련된 빠른 피드백 및 버그 수정을 지원해야 합니다. 이러한 방식을 도입하면 유용한 변경 사항을 프로덕션 환경으로 빠르게 전달할 수 있고, 문제 배포 가능성을 제한할 수 있으며, 배포 활동을 통해 발생하는 문제를 빠르게 파악하고 해결할 수 있습니다.
리소스
CI/CD for Serverless Applications on AWS
Design with Ops in Mind
AWS Developer Tools
모범 사례:
-
버전 관리 사용:: 버전 관리를 사용하면 변경 사항과 릴리스를 추적할 수 있습니다.
-
변경 사항 테스트 및 확인: 변경 사항을 테스트하고 확인하면 오류를 제한하고 감지할 수 있습니다. 그리고 테스트를 자동화하면 수동 프로세스에서 발생하는 오류와 테스트해야 하는 작업량을 줄일 수 있습니다.
-
구성 관리 시스템 사용: 구성 관리 시스템을 사용하면 구성을 변경하고 변경 사항을 추적할 수 있습니다. 이러한 시스템에서는 수동 프로세스에서 발생하는 오류와 변경 사항 배포를 위한 작업량을 줄일 수 있습니다.
-
빌드 및 배포 관리 시스템 사용: 빌드 및 배포 관리 시스템을 사용합니다. 이러한 시스템에서는 수동 프로세스에서 발생하는 오류와 변경 사항 배포를 위한 작업량을 줄일 수 있습니다.
-
패치 관리 수행: 패치 관리를 수행하면 기능을 확인하고, 문제를 해결하고, 거버넌스 규정 준수 상태를 유지할 수 있습니다. 그리고 패치 관리를 자동화하면 수동 프로세스에서 발생하는 오류와 패치를 위한 작업량을 줄일 수 있습니다.
-
설계 표준 공유: 여러 팀이 모범 사례를 공유하면 표준에 대한 인지도를 높이고 개발 작업의 이점을 극대화할 수 있습니다.
-
코드 품질 개선을 위한 사례 구현: 코드 품질을 개선하고 결함을 최소화하는 사례를 구현합니다. 테스트 중심 개발, 코드 검토, 표준 도입 등을 예로 들 수 있습니다.
-
여러 환경 사용: 여러 환경을 사용하여 워크로드를 실험, 개발 및 테스트합니다. 프로덕션 환경에 배포하는 단계에 가까워질수록 제어 수준을 높이면 배포되었을 때 워크로드가 의도한 대로 작동할 것이라는 신뢰성을 높일 수 있습니다.
-
자주 발생하고 되돌릴 수 있는 사소한 변경 내용 적용: 되돌릴 수 있는 소규모 변경 작업을 자주 수행하면 변경의 영향과 범위가 감소합니다. 이렇게 하면 문제를 더 빠르고 쉽게 해결할 수 있으며 변경 사항 롤백 옵션을 사용할 수 있습니다.
-
통합 및 배포 완전 자동화: 워크로드 빌드, 배포 및 테스트를 자동화합니다. 이렇게 하면 수동 프로세스에서 발생하는 오류와 변경 사항 배포를 위한 작업을 줄일 수 있습니다.
개선 계획
버전 관리 사용:
Introduction to AWS CodeCommit
What is AWS CodeCommit?
변경 사항 테스트 및 확인
What is AWS CodeBuild?
Local build support for AWS CodeBuild
구성 관리 시스템 사용
Infrastructure configuration management
AWS Config
What is AWS Config?
Introduction to AWS CloudFormation
What is AWS CloudFormation?
AWS OpsWorks
What is AWS OpsWorks?
Introduction to AWS Elastic Beanstalk
What is AWS Elastic Beanstalk?
빌드 및 배포 관리 시스템 사용
What is AWS CodeBuild?
Continuous integration best practices for software development
Slalom: CI/CD for serverless applications on AWS
Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
What is AWS CodeDeploy?
패치 관리 수행
AWS Systems Manager Patch Manager
설계 표준 공유
Delegating access to your AWS environment
Share an AWS CodeCommit repository
Easy authorization of AWS Lambda functions
Sharing an AMI with specific AWS accounts
Speed template sharing with an AWS CloudFormation designer URL
Using AWS Lambda with Amazon SNS
코드 품질 개선을 위한 사례 구현
여러 환경 사용
What is AWS CloudFormation?
How do I stop and start Amazon EC2 instances at regular intervals using AWS Lambda?
자주 발생하고 되돌릴 수 있는 사소한 변경 내용 적용
통합 및 배포 완전 자동화
What is AWS CodeBuild?
Continuous integration best practices for software development
Slalom: CI/CD for serverless applications on AWS
Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
What is AWS CodeDeploy?