Blue-Green Deployment와 Rolling Deployment의 차이를 설명해주세요.
답변 포인트
새 버전으로 트래픽을 한 번에 전환하는 방식과 점진적으로 교체하는 방식을 비교해보세요.
정답 및 해설
빠른 요약
Blue-Green Deployment는 현재 운영 중인 Blue 환경과 새 버전이 올라간 Green 환경을 동시에 준비한 뒤, 트래픽을 한 번에 Green으로 전환하는 방식입니다. 문제가 생기면 트래픽을 다시 Blue로 돌려 빠르게 rollback할 수 있습니다.
Blue-Green Deployment는 현재 운영 중인 Blue 환경과 새 버전이 올라간 Green 환경을 동시에 준비한 뒤, 트래픽을 한 번에 Green으로 전환하는 방식입니다. 문제가 생기면 트래픽을 다시 Blue로 돌려 빠르게 rollback할 수 있습니다.
장점은 전환과 롤백이 명확하다는 점입니다. 단점은 운영 환경을 거의 두 벌 유지해야 하므로 인프라 비용이 커질 수 있고, DB 마이그레이션이 양쪽 버전과 호환되어야 합니다.
Rolling Deployment는 여러 인스턴스를 조금씩 새 버전으로 교체합니다. 예를 들어 10대 중 1~2대씩 교체하며 헬스 체크를 통과하면 다음 그룹으로 넘어갑니다.
장점은 추가 인프라 비용이 상대적으로 작고, 서비스 중단 없이 배포하기 쉽다는 점입니다. 단점은 배포 중 구버전과 신버전이 동시에 트래픽을 받기 때문에 API, 세션, DB 스키마 호환성을 더 신경 써야 합니다.
정리하면 Blue-Green은 빠른 전환과 롤백이 강점이고, Rolling은 점진적 교체와 자원 효율성이 강점입니다. 실무에서는 Canary까지 조합해 위험도를 더 낮추기도 합니다.