Blue/Green 배포: 안전하고 빠른 무중단 배포 전략

Blue/Green 배포는 무중단 배포(Zero-Downtime Deployment) 기법중 하나입니다.

무중단 배포란? 말그대로 애플리케이션의 중단 없이 새로운 버전의 애플리케이션을 배포하는 방식인데요. 현재 운영중인 실제버전을 Blue, 새롭게 배포할 새 버전을 Green 으로 표현합니다. 그리고 두 환경은 동일한 스펙으로 구성됩니다.


작동방식

현재 운영중인 버전(Blue)이 실제 사용자 트래픽을 처리하는 동안 새로운 버전(Green)을 별도 환경에 배포 합니다. 로드밸런서를 통해 모든 트래픽을 Blue 에서 Green으로 한번에 전환합니다. 가령 HTTP 요청을 포트 8080 에서 8081로 변경 합니다.


장점

  • 구 버전의 인스턴스가 그대로 남아있어서 손쉬운 롤백 가능(로드밸런서 설정만 변경하면 됨)

  • 운영환경과 동일한 조건에서 충분한 테스트 가능

  • 롤링 배포와 다르게 한 번에 버전을 바꾸어서 버전 호환에 대한 문제가 발생하지 않음


단점

  • 시스템 자원이 두 배로 필요

  • 새로운 환경에 대한 테스트 필요


운영중인 서비스가 빠르게 롤백이 필요한 경우 Blue/Green 방식이 적합할수 있습니다. 다시 이전 버전으로 인스턴스를 하나씩 순차적으로 배포해야하는 롤링 업데이트 보다, 로드밸런서 설정만 변경하면 되기 때문입니다.

또한 트래픽이 적은 서비스 라면, 카나리보다 Blue/Green이 더 적합할 수 있습니다. 적은 트래픽을 더 쪼개는게 테스트 상 큰 의미가 있지 않고, 리소스를 2배 사용하더라도 비용 부담이 크지 않기 때문입니다.


https://www.redhat.com/ko/topics/devops/what-is-blue-green-deployment


Blue Green배포의 개념, DevOps 개념과 관계, 작동 방식, 특징

www.redhat.com

Blue Green배포의 개념, DevOps 개념과 관계, 작동 방식, 특징

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 11월 29일 오전 2:26

댓글 0