Day 73 · 3/5
🌳 고급 인프라

Zero Downtime 배포 전략

쉽게 이해하기

비행기가 날아가는 중에 엔진을 교체하는 것과 비슷해요. 한쪽 엔진을 새 걸로 바꾸는 동안 다른 엔진으로 계속 날고, 교체가 끝나면 역할을 바꿔서 나머지 엔진도 교체하는 거죠. 승객은 비행기가 멈춘 줄도 모르는 거예요.

핵심 정리

서비스를 멈추지 않고 새 버전으로 업데이트하는 방법

자세히 알아보기

무중단 배포는 사용자가 서비스 중단을 느끼지 못하게 새 버전으로 업데이트하는 기법이에요. 전통적인 배포는 서버를 내렸다가 새 코드로 교체 후 다시 올리는데, 이 사이에 사용자는 접속할 수 없죠. 가장 흔한 방법은 블루-그린 배포예요. 기존 서버(블루)와 새 서버(그린)를 동시에 띄우고, 로드밸런서가 트래픽을 그린으로 전환해요. 문제가 생기면 즉시 블루로 롤백할 수 있습니다. 롤링 업데이트는 서버를 하나씩 교체하는 방식이고, 카나리 배포는 일부 사용자에게만 먼저 배포해서 문제를 조기 발견하는 전략이에요. 실무에서는 Kubernetes의 롤링 업데이트나, AWS의 블루-그린 배포 기능을 사용해요. 헬스체크를 설정해서 새 버전이 정상 작동하는지 확인한 후에만 트래픽을 넘기고, 구버전은 일정 시간 대기시켰다가 종료합니다. Vercel이나 Netlify 같은 플랫폼은 자동으로 무중단 배포를 해주지만, 백엔드 서버를 직접 운영한다면 로드밸런서와 헬스체크 설정이 필수예요.