무중단 배포의 주요 전략은 다음과 같이 세 가지로 구분된다.

Blue/Green 배포

두 개의 동일한 운영 환경을 구성하여 한 번에 전환하는 방식

  • 장점:
    • 빠른 롤백이 가능
    • 실제 운영 환경에서 신버전 테스트 가능
    • 구버전 환경을 다음 배포에 재활용 가능
    • 서버 과부하 위험이 적음
  • 단점:
    • 시스템 자원이 2배로 필요하여 비용이 증가
    • 새로운 환경에 대한 사전 테스트 필요

롤링 업데이트

서버나 인스턴스를 순차적으로 업데이트하는 방식

  • 장점:
    • 추가 인스턴스 없이 배포 가능
    • 손쉬운 롤백 가능
    • 관리가 용이
  • 단점:
    • 배포 중 서비스 처리 용량 감소
    • 구버전과 신버전 공존으로 인한 호환성 문제 발생 가능

카나리 배포

소수의 사용자/서버에 먼저 배포하고 점진적으로 확대하는 방식

  • 장점:
    • 실제 운영 환경에서 위험 감지 가능
    • 트래픽을 점진적으로 전환 가능
    • A/B 테스트로 활용 가능
  • 단점:
    • 버전 관리의 복잡성 증가
    • 네트워크 트래픽 제어에 대한 부담

배포 전략 선택 시 고려사항

  • 서비스의 규모와 특성
  • 인프라 자원의 가용성
  • 롤백 필요성
  • 모니터링 및 테스트 환경
  • 비용 효율성

무중단 배포 전략은 각각의 장단점이 있으므로, 조직의 요구사항과 환경에 맞는 적절한 전략을 선택하는 것이 중요하다.