최신 배포 패턴 이해
최종 사용자는 항상 애플리케이션을 다르게 사용합니다. 데이터 센터에서 예기치 않은 이벤트가 발생하고, 여러 사용자의 여러 이벤트가 함께 발생하여 이 방법으로 테스트되지 않은 일부 코드를 트리거합니다.
극복하려면 일부 기능은 프로덕션에서만 테스트할 수 있음을 수용해야 합니다.
프로덕션에서 테스트하는 것은 약간 무섭게 들리지만 반드시 그렇지만은 않습니다.
기능 및 기술 릴리스를 분리하는 방법을 설명할 때 이미 모든 사용자에게 노출하지 않고도 기능을 배포할 수 있음을 확인했습니다.
이 기능 설정/해제 개념을 사용하고 배포 패턴과 함께 사용하면 프로덕션에서 소프트웨어를 테스트할 수 있습니다.
예를 들면 다음과 같습니다.
- 파란색-녹색 배포.
- 카나리아 릴리스.
- 다크 론치.
- A/B 테스트.
- 점진적 노출 또는 링 기반 배포.
- 기능 토글.
아키텍처를 비판적으로 살펴보기
아키텍처 및 현재 소프트웨어 상태가 지속적인 업데이트를 적용할 준비가 되었나요?
고려할 수 있는 항목은 다음과 같습니다.
- 소프트웨어가 하나의 대규모 모놀리식으로 빌드되어 있나요? 아니면 여러 구성 요소로 나누어지나요?
- 애플리케이션의 부분을 개별적으로 제공할 수 있나요?
- 일주일에 여러 번 배포할 때 소프트웨어 품질을 보장할 수 있나요?
- 소프트웨어를 테스트하려면 어떻게 해야 하나요?
- 하나 이상 버전의 소프트웨어를 실행하나요?
- 여러 버전의 소프트웨어를 함께 실행할 수 있나요?
- 지속적인 업데이트를 구현하기 위해 무엇을 개선해야 하나요?