배포 전략 (Rolling, Blue/Green, Canary)
배포 전략 종류에 대해 알아보자.
배포 전략 종류
롤링(Rolling)
기존 서버들을 하나씩 업데이트하면서 순차적으로 새로운 버전으로 교체하는 방식
장점
별도의 인프라 필요 없어서 비용이 효율적임
점진적 업데이트로 부하 감소
단점
문제가 생기면 롤백이 어렵거나 전체 롤백에 시간 소요
여러 버전이 동시에 운영되므로 버전 호환성 고려 필요
블루그린(Blue/Green)
두 개의 환경(Blue와 Green)을 두고, 배포는 새로운 버전을 Green에 먼저 배포한 후, 트래픽을 전환하는 방식
장점
롤백이 빠르고 쉬움 (트래픽만 다시 Blue로 전환하면 됨)
운영 중인 시스템에 영향 없이 테스트 가능
단점
두 개의 인프라 환경을 유지해야 하므로 비용 증가
데이터베이스 스키마 변경 시 양쪽 버전 호환성 고려 필요
카나리(Canary)
전체 유저 중 일부에게만 새로운 버전을 먼저 배포하고, 문제가 없으면 점차 배포 범위를 늘리는 방식
장점
실사용자 기반 테스트로 리스크 최소화
문제가 생겼을 때 빠르게 감지 가능
점진적 배포로 안정성 높음
단점
롤링과 마찬가지로 여러 버전이 동시에 운영되므로 버전 호환성 고려 필요
롤백 관점에서 정리하면,
롤링: 이전 버전으로 재배포 필요 → 전체 롤백하는데 시간 소요
블루그린: 트래픽을 이전 버전(Blue)으로 전환 → 빠르게 롤백 가능
카나리: 신규 버전의 라우팅 비율을 줄이고, 신규 버전이 적용된 일부 인스턴스에만 재배포 → 빠르게 롤백 가능
마무리
배포 전략에 대해 알아보며 각 서비스에 맞는 적절한 전략이 있겠지만, 그중에서도 “롤백”을 빠르게 할 수 있는 전략이 중요하다고 생각했다.
우리는 장애를 최소화하기 위해 다양한 노력을 기울이지만, 언제나 그렇듯 장애는 예기치 않게 발생할 수 있다. 특히 장애 시간은 서비스의 신뢰성과도 밀접한 관련이 있어, 빠른 대응 능력이 서비스 품질의 핵심이 된다.
따라서 장애를 빠르게 감지하고, 즉시 롤백하거나 안전하게 차단할 수 있는 배포 전략을 갖추는 것이 무엇보다 중요할 것이다.
Last updated