Blue-Green Deployment
요약
Blue-Green Deployment는 두 개의 동일한 환경을 번갈아 사용해, 서비스 중단 없이 안전하게 소프트웨어를 배포하고, 문제가 생기면 빠르게 복구할 수 있는 현대적인 배포 전략입니다.
설명
Blue-Green Deployment(블루-그린 배포)는 소프트웨어를 무중단(Zero-downtime)으로 안전하게 배포하기 위한 전략입니다. 이 방식은 두 개의 거의 동일한 운영 환경(블루와 그린)을 번갈아 사용합니다.
핵심 개념
두 개의 환경:
실제 서비스 중인 환경(예: 블루)과 새 버전이 배포되는 환경(예: 그린)이 있습니다. 항상 한 쪽만 실사용 트래픽을 받습니다.새 버전 배포:
새 버전은 현재 트래픽을 받지 않는 환경(그린)에 먼저 배포하고, 충분히 테스트합니다.트래픽 전환:
문제가 없으면 라우터나 로드밸런서 등을 이용해 전체 트래픽을 한 번에 그린 환경으로 전환합니다. 사용자는 서비스 중단이나 장애를 거의 느끼지 못합니다.롤백(복구) 용이:
만약 새 버전에 문제가 생기면, 다시 블루 환경으로 트래픽을 즉시 돌릴 수 있어 빠른 복구가 가능합니다.
장점
무중단 배포:
사용자에게 서비스 중단 없이 새 버전을 적용할 수 있습니다.빠른 롤백:
문제가 생기면 즉시 이전 버전으로 복구할 수 있습니다.실제 환경 테스트:
실제 운영 환경에서 새 버전을 테스트할 수 있어, 사전 테스트에서 발견 못한 문제도 잡아낼 수 있습니다.위험 최소화:
배포 과정에서의 위험(버그, 장애 등)을 크게 줄일 수 있습니다.
작동 과정 요약
블루 환경이 현재 운영(서비스) 중.
그린 환경에 새 버전 배포 및 테스트.
이상 없으면 트래픽을 블루에서 그린으로 전환.
문제 발생 시 다시 블루로 트래픽 전환(롤백).
그린이 정상 운영되면, 블루 환경을 다음 업데이트용으로 준비.
비유로 쉽게 설명
레스토랑을 운영 중인데, 기존 홀(블루)에서 손님을 받고, 새로 리모델링한 홀(그린)에서 모든 준비를 마친 뒤, 손님을 한 번에 그린 홀로 안내하는 것과 비슷합니다. 만약 문제가 생기면 다시 블루 홀로 손님을 돌릴 수 있습니다.
댓글
댓글 쓰기