무중단 배포 종류
- 롤링 배포
- 서버를 차례대로 업데이트하는 방법으로, 관리가 간편합니다.
- 단, 구버전과 신버전의 공존으로 호환성 문제와 트래픽 집중이 발생할 수 있습니다.
- 카나리 배포
- 신버전을 소수의 사용자에게 배포하고 문제가 없으면 점진적으로 배포하는 방법입니다.
- 빠르게 문제 상황을 감지할 수 있으며, A/B 테스트로 활용이 가능합니다.
- 단, 구버전과 신버전이 공존할 수 있습니다.
- Blue-Green 배포
- 구버전과 신버전의 인스턴스를 별도로 구성하고, 신버전으로만 트래픽을 전환하여 배포합니다.
- 배포 속도가 빠르며, 신속하게 롤백할 수 있습니다.
- 단, 자원을 두 배로 배포해야 합니다.
CI/CD(추가 개념)
CI/CD(지속적 통합/지속적 배포)는 개발 주기를 자동화하고 배포를 효율적으로 처리하는 방법론입니다. 이 페이지에서는 CICD의 간단한 개념을 다룹니다.
컴파일, 빌드, 배포
컴파일
- 프로그래머가 작성한 소스 코드를 기계어로 변환하는 과정입니다.
빌드
- 소스 코드 파일을 컴퓨터에서 실행 가능한 소프트웨어로 변환하는 과정입니다.
배포
- 빌드된 결과물을 사용자가 접근할 수 있는 환경에 배치하는 작업입니다.
CI (지속적 통합)
지속적 통합은 개발 중에도 품질을 관리할 수 있도록 여러 명이 하나의 코드에 대해 수정하더라도 지속적으로 통합하며 관리할 수 있는 방식입니다.
CI 프로세스