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

배포 전략 종류에 대해 알아보자.

배포 전략 종류

롤링(Rolling)

기존 서버들을 하나씩 업데이트하면서 순차적으로 새로운 버전으로 교체하는 방식

장점

  • 별도의 인프라 필요 없어서 비용이 효율적임

  • 점진적 업데이트로 부하 감소

단점

  • 문제가 생기면 롤백이 어렵거나 전체 롤백에 시간 소요

  • 여러 버전이 동시에 운영되므로 버전 호환성 고려 필요

블루그린(Blue/Green)

두 개의 환경(Blue와 Green)을 두고, 배포는 새로운 버전을 Green에 먼저 배포한 후, 트래픽을 전환하는 방식

장점

  • 롤백이 빠르고 쉬움 (트래픽만 다시 Blue로 전환하면 됨)

  • 운영 중인 시스템에 영향 없이 테스트 가능

단점

  • 두 개의 인프라 환경을 유지해야 하므로 비용 증가

  • 데이터베이스 스키마 변경 시 양쪽 버전 호환성 고려 필요

카나리(Canary)

전체 유저 중 일부에게만 새로운 버전을 먼저 배포하고, 문제가 없으면 점차 배포 범위를 늘리는 방식

장점

  • 실사용자 기반 테스트로 리스크 최소화

  • 문제가 생겼을 때 빠르게 감지 가능

  • 점진적 배포로 안정성 높음

단점

  • 롤링과 마찬가지로 여러 버전이 동시에 운영되므로 버전 호환성 고려 필요

롤백 관점에서 정리하면,

  • 롤링: 이전 버전으로 재배포 필요 → 전체 롤백하는데 시간 소요

  • 블루그린: 트래픽을 이전 버전(Blue)으로 전환 → 빠르게 롤백 가능

  • 카나리: 신규 버전의 라우팅 비율을 줄이고, 신규 버전이 적용된 일부 인스턴스에만 재배포 → 빠르게 롤백 가능

마무리

배포 전략에 대해 알아보며 각 서비스에 맞는 적절한 전략이 있겠지만, 그중에서도 “롤백”을 빠르게 할 수 있는 전략이 중요하다고 생각했다.

우리는 장애를 최소화하기 위해 다양한 노력을 기울이지만, 언제나 그렇듯 장애는 예기치 않게 발생할 수 있다. 특히 장애 시간은 서비스의 신뢰성과도 밀접한 관련이 있어, 빠른 대응 능력이 서비스 품질의 핵심이 된다.

따라서 장애를 빠르게 감지하고, 즉시 롤백하거나 안전하게 차단할 수 있는 배포 전략을 갖추는 것이 무엇보다 중요할 것이다.

Last updated