🔹Study

MSA 무중단 배포 전략

terranbin 2025. 1. 31. 16:52
728x90
SMALL

배포전략(Rolling, Canary, Blue/Green) 비교

 


Rolling


Rolling 배포는 서버를 한대 씩 구 버전에서 새버전으로 교체해가는 전략이다.

서비스 중인 서버 한대를 제외시키고 그 자리에 새 버전의 서버를 추가한다.

이렇게 구버전 에서 새버전으로 트래픽을 점진적으로 전환한다.

이와 같은 방식은 서버 수의 제약이 있을 경우 유용하나 배포 중 인스턴스의 수가 감소 되므로 서버 처리 용량을 미리 고려해야 한다.

 


Blue/Green


Blue/Green 배포는 구 버전에서 새버전으로 일제히 전환하는 전략이다.

구 버전의 서버와 새 버전의 서버들을 동시에 나란히 구성하고 배포 시점이 되면 트래픽을 일제히 전환 시킨다.
하나의 버전만 프로덕션 되므로 버전관리 문제를 방지할 수 있고 또한 빠른 롤백이 가능하다. 

다른 장점으로 운영 환경에 영향을 주지않고 실제 서비스 환경으로 새 버전 테스트가 가능하다.
예를 들어 구 버전과 새 버전을 모두 구성하고 포트를 다르게 주거나 내부 트래픽일 경우 새 버전으로 접근하도록 설정하여 테스트를 진행해 볼 수 있다.

단 시스템 자원이 두배로 필요하고, 전체 플랫폼에 대한 테스트가 진행되어야 한다.


Canary



구 버전의 서버와 새 버전의 서버들을 구성하고 일부 트래픽을 새 버전으로 분산하여 오류 여부를 판단한다.
이 기법으로 A/B 테스트도 가능한데, 오류율 및 성능 모니터링에 유용하다.

트래픽을 분산시킬 라우팅은 랜덤으로 할 수도 있고 사용자 프로필등을 기반으로 분류할 수도 있다.
분산 후 결과에 따라 새 버전이 운영 환경을 대체할 수 있고 다시 구 버전으로 돌아갈 수도 있다.


배포 전략의 장단점

배포 전략 장점 단점
Rolling Deployment 다운타임 최소화, 기존 서버 재활용 가능 롤백이 어려움, 배포 속도가 느림
Canary Deployment 일부 사용자만 영향, 리스크 완화 가능 트래픽 분배 및 모니터링 설정 필요
Blue/Green Deployment 즉시 롤백 가능, 빠른 배포 가능 두 개의 환경을 유지해야 하므로 비용 증가

결론

  • 빠른 롤백이 필요하면 → Blue/Green Deployment
  • 점진적 배포가 필요하면 → Rolling Deployment
  • A/B 테스트나 실험적 기능이 필요하면 → Canary Deployment
LIST