🌳 고급 인프라
Blue-Green 배포는 어떻게 하나요?
쉽게 이해하기
무대에서 공연할 때를 생각해보세요. 관객이 보는 무대(Blue)에서 공연하는 동안, 뒤에서 다음 무대(Green)를 미리 세팅해놔요. 준비가 끝나면 조명을 바꿔서 새 무대를 보여주면 되죠. 관객은 중간에 공연이 끊기는 걸 느끼지 못해요. Blue-Green 배포도 똑같아요.
핵심 정리
새 버전(Green)을 준비해두고 확인 후 트래픽을 한 번에 전환하는 무중단 배포 방식이에요.
자세히 알아보기
Blue-Green 배포는 현재 운영 중인 환경(Blue)과 새로운 환경(Green)을 동시에 준비해두고, 확인 후 트래픽을 한 번에 전환하는 방식이에요. 배포 중에도 서비스가 중단되지 않고, 문제가 생기면 즉시 이전 버전으로 롤백할 수 있어요.
실제 과정은 이래요. Blue 환경에서 서비스가 돌고 있을 때, Green 환경에 새 버전을 배포해요. 새 버전이 완전히 뜨면 테스트를 돌려서 정상인지 확인해요. 문제없으면 로드 밸런서 설정을 바꿔서 트래픽을 Green으로 보내요. 사용자는 순식간에 새 버전을 쓰게 되고, 중간에 끊김이 없어요.
장점은 안전하고 빠른 롤백이에요. 만약 Green에서 문제가 생기면 로드 밸런서를 다시 Blue로 돌리면 끝이에요. 몇 초 안에 이전 버전으로 돌아갈 수 있죠. 또 두 환경이 똑같으니까 테스트도 철저하게 할 수 있어요.
단점은 리소스가 두 배로 든다는 거예요. 서버를 두 세트 돌려야 하니까 비용이 많이 들어요. 그래서 큰 서비스나 안정성이 정말 중요한 곳에서 주로 써요. AWS, Azure 같은 클라우드에서는 Blue-Green 배포를 쉽게 설정할 수 있는 기능을 제공해요.