그린
그린(Green)은 블루-그린 배포(Blue-Green Deployment) 전략에서 사용되는 새로운 버전의 애플리케이션이 배포되는 환경입니다.
현재 운영 중인 블루(Blue) 환경과는 독립적으로 존재하며, 업데이트된 애플리케이션 코드, 새로운 기능, 패치 등이 적용되어 있습니다.
그린 환경이 준비되고 검증되면 사용자 트래픽을 블루에서 그린으로 전환하여 새로운 버전이 서비스되도록 합니다.
주요 특징
- 새 버전 배포 환경: 새롭게 개발·테스트된 버전이 배포되는 공간.
- 블루와 독립적: 현재 운영 중인 블루 환경과 완전히 분리되어 동작.
- 배포 및 검증 공간: 실제 서비스 전 마지막 테스트 및 검증 단계로 사용.
- 트래픽 전환 준비: 모든 검증이 끝난 후 트래픽을 블루에서 그린으로 전환.
- 빠른 롤백 대비: 문제 발생 시 트래픽을 다시 블루로 쉽게 전환 가능.
장점
- 안정적 배포: 실제 사용자에게 서비스하기 전 안정성 검증 가능.
- 빠른 장애 대응: 배포 후 문제 발견 시 즉각 블루로 롤백 가능.
- 무중단 배포 지원: 사용자 서비스 중단 없이 새 버전 적용 가능.
- 배포 위험 최소화: 실제 운영 전 독립적인 환경에서 안전하게 테스트 가능.
관련 용어
- 블루(Blue): 기존 운영 중인 애플리케이션 환경.
- 블루-그린 배포 (Blue-Green Deployment): 두 환경을 번갈아 가며 무중단 배포하는 전략.
- 롤백(Rollback): 그린에서 문제 발생 시 블루로 트래픽을 되돌리는 작업.
- 트래픽 전환(Traffic Switching): 사용자 요청을 블루에서 그린으로 이동.
- 무중단 배포(Zero-downtime Deployment): 서비스 중단 없는 배포 방식
주요 솔루션 및 사용 사례
- 주요 솔루션
- Kubernetes, AWS Elastic Beanstalk, Spinnaker, Jenkins X, Google Cloud Deploy.
- 사용 사례
- 새로운 기능 및 버전 배포: 새로운 소프트웨어 기능을 사전 검증 후 운영.
- 버그 수정 및 긴급 패치 적용: 신속하고 안정적인 긴급 수정 배포.
- 성능 개선 버전 배포: 리팩토링된 고성능 버전을 독립 환경에서 테스트 후 적용.
- 보안 패치: 최신 보안 업데이트를 새로운 그린 환경에 적용 후 서비스.