도입
1 / 14Blue/Green 배포 전략
2022년 금요일 저녁 10시. 국내 한 이커머스 스타트업의 개발팀이 새 기능을 배포하기 시작했습니다. git pull, npm install, pm2 restart all — 익숙한 명령어들. 그런데 pm2가 재시작하는 12초 동안, 접속 중이던 사용자들의 화면에 502 Bad Gateway가 떴습니다. 주문을 넣던 고객 중 일부는 결제가 됐는지 안 됐는지 알 수 없는 상태가 됐습니다. 카카오톡 고객센터에 문의가 쏟아졌습니다.
더 큰 문제는 다음이었습니다. 배포 후 5분이 지나자 특정 API에서 500 에러가 폭발적으로 발생했습니다. 스테이징 환경에서는 정상이었는데, 프로덕션 DB 스키마와 새 코드가 맞지 않았던 것입니다. 개발팀은 롤백을 시도했지만, 롤백 절차가 문서화되어 있지 않았습니다. 결국 이전 커밋을 찾아 수동으로 다시 배포하는 데 35분이 걸렸습니다. 35분 동안 서비스 장애.
이 레슨을 마치면 다음을 이해할 수 있습니다:
- 배포 전략의 역사 — 빅뱅에서 무중단 배포까지
- Blue/Green 배포의 원리와 왜 "극장 무대 교체"인지
- 카나리 배포와 트래픽 가중치 제어
- AWS에서 Blue/Green을 실현하는 3가지 방법 (ALB, CodeDeploy, Route 53)
- 롤링 vs Blue/Green vs 카나리 — 각 전략의 트레이드오프
- 배포 실패 시 30초 안에 롤백하는 방법

이 레슨의 대상: CI/CD 파이프라인의 기본 개념을 알고 있으며, 실제 서비스를 다운타임 없이 배포하는 방법이 궁금한 분을 위해 작성되었습니다. AWS ALB의 기본 구조를 이해하고 있으면 더욱 좋습니다.
← → 이동F 집중