신규 버전의 어플리케이션을 새롭게 배포하는 과정을 가정해보자. 로컬에서는 신규 어플리케이션을 빌드하고, 서버에서는 현재 실행중인 버전을 종료한다. 기존 버전의 종료되면 빌드한 결과물을 서버에서 실행하고, 그 결과 신규 어플리케이션이 배포된다.
하지만 해당 방법은 구버전이 종료되고 신규 버전이 실행되기 전까지 사용자가 서비스를 이용할 수 없다는 치명적인 단점이 있다. 이를 보완하고자 서비스의 중단없이 업데이트를 수행하는 무중단 배포가 등장했다.
롤링 배포는 트래픽을 구버전에서 신규 버전으로 점진적으로 옮기는 방식이다.
😄 장점
🥲 단점
블루/그린 배포는 트래픽을 구버전에서 신규 버전으로 한 번에 옮기는 방식이다. 현재 운영 중인 서비스 환경을 블루, 새롭게 배포할 환경을 그린이라고 부른다.
블루와 그린 서버를 동시에 나란히 구성해놓고 배포 시점에 로드 밸런서가 트래픽을 일제히 전환시킨다. 그린 버전 배포가 성공적으로 완료되면 블루 서버를 제거할 수 있다.