무중단 배포
롤링 배포, 블루 그린 배포, 카나리 배포
프로젝트 배포에도 여러가지 방법이 있다.
개발된 애플리케이션을 쉽고 안전하게 배포해야하고,
만약 문제가 발생한다면, 쉽게 이전 버전으로 돌려야하기 때문이다!
3가지 배포 방법 (무중단 배포)에 대해서 조사해보았다.
0. 무중단 배포
서비스 장애와 배포의 부담을 최소화하기 위해 운영 중인 서비스를 중단하지 않고 배포하는 기술
핵심: 로드밸런서를 통해 연결된 2개 이상의 서로 다른 IP를 가진 인스턴스에 트래픽을 제어해 배포
1. 롤링 배포
특정 개수의 서버들을 돌아가며 배포하는 방법이다.
사용 중인 인스턴스에서 점진적으로 교체하는 것.
서비스 중인 인스턴스를 로드밸런서 라우팅에서 제외한 뒤, 새로운 버전을 배포해 다시 라우팅한다.
이를 반복해서 모든 인스턴스에 새로운 버전을 배포한다.
장점
인스턴스마다 차례로 배포하기 때문에 쉬운 롤백이 가능하다.
단점
구버전과 신버전이 공존하기 때문에 호환성 문제 발생 가능하다.

2. 블루-그린 배포
구버전: 블루
신버전: 그린으로 지칭해서 붙여진 이름이다.
운영 환경에 구버전과 동일하게 신버전 인스턴스를 구성한 뒤, 로드밸런서를 통해 모든 트래픽을 신버전으로 전환하는 방법
장점
1. 빠른 롤백이 가능하다.
2. 구버전과 동일한 운영 환경에 배포하므로 실제 서비스 환경에서 신버전을 미리 테스트 할 수 있다.
3. 신버전 배포 완료 후, 구버전의 환경을 다음 배포에 재사용할 수 있다.
단점
1. 시스템 자원이 2배로 필요하다.

3. 카나리 배포
카나리: 옛날 광부들이 유독 가스에 민감한 카나리아 새를 이용해 가스 누출 위험을 감지했던 것에서 유래
즉, 잠재적 문제 상황을 미리 발견하기 위한 방식
로드밸런서를 통해 신버전의 제공 범위를 늘려가는 방법, 신버전 경험하는 사용자의 비율을 조절할 수 있다.
장점
1. 신버전의 제공 범위 늘려가며 모니터링 및 피드백 과정을 거칠 수 있다.
2. 언뜻 블루-그린 배포와 비슷하지만, 카나리 배포는 단계적 전환 방식이므로 부정적인 상황을 최소화하고, 트래픽 양을 조잘할 수 있다.
롤백도 가능하다.
단점
1. 롤링 배포와 마찬가지로 신버전, 구버전이 공존하므로 버전 관리가 필요하다.

출처: https://www.samsungsds.com/kr/insights/1256264_4627.html
'공부의 일상' 카테고리의 다른 글
| [build tool] maven이란? (0) | 2024.08.12 |
|---|---|
| [웹 취약점] 계정 관리 취약점 및 대응 방안 (2) | 2024.07.14 |
| [io 도메인] 자주 접하게 되는 ".io" URL은 뭘까? (접속하면 위험한 주소일까?) (2) | 2024.06.04 |
| [TypeScript] 사용 이유, 등장 배경 (0) | 2024.05.31 |
| [JPA Pageable] 페이지네이션 속도 비교, 향상 (3) | 2024.05.29 |