🌳 고급 인프라
블루-그린 배포가 뭔가요?
쉽게 이해하기
무대 뒤 리허설을 생각해보세요. 공연(블루 환경)이 진행되는 동안 무대 뒤에서는 다음 공연(그린 환경)을 완벽하게 준비해요. 준비가 끝나면 막을 내리고 새 무대로 바꾸는 거죠. 관객들은 잠깐의 전환만 보고, 문제가 생기면 다시 이전 무대로 돌아갈 수도 있어요.
핵심 정리
두 개의 동일한 환경을 준비해서 한 번에 전환하는 무중단 배포 방식이에요.
자세히 알아보기
블루-그린 배포는 동일한 두 개의 프로덕션 환경을 운영하는 배포 전략이에요. 현재 서비스 중인 환경을 블루(Blue), 새로 배포할 환경을 그린(Green)이라고 부르고, 배포가 완료되면 트래픽을 한 번에 그린으로 전환해요.
과정은 이렇게 진행돼요. 먼저 블루 환경에서 서비스가 운영되는 동안 그린 환경에 새 버전을 배포하고 철저히 테스트해요. 문제가 없으면 로드밸런서나 DNS 설정을 바꿔서 모든 트래픽을 그린으로 보내요. 이때 블루는 그대로 유지하고 있다가, 새 버전에 문제가 생기면 즉시 블루로 되돌릴 수 있어요. 롤백이 몇 초 안에 가능한 게 큰 장점이죠.
실무에서는 AWS Elastic Beanstalk, Kubernetes, Vercel 같은 플랫폼들이 블루-그린 배포를 기본 제공해요. 예를 들어 Vercel은 새 배포마다 고유한 URL을 만들어주고, 테스트 후 프로덕션 도메인을 새 배포로 연결하는 방식이에요. 문제가 생기면 이전 배포로 즉시 롤백할 수 있죠.
단점도 있어요. 두 배의 인프라가 필요하기 때문에 비용이 더 들 수 있어요. 또 데이터베이스 스키마 변경이 있을 때는 양쪽 환경 모두에서 동작하도록 신중하게 설계해야 해요. 하지만 안정성이 중요한 서비스라면 충분히 가치 있는 투자예요.