이 순서는
무중단 배포 전략
이다.
요즘은 MSA 아키텍처를 많이 지향하고 있는 추세이다. 이런 트렌드에 맞춰 배포 전략도 다양하게 개발되고 발전하여 변화하고 있다.
이번 포스팅 살펴볼 내용은 여러가지 배포 전략과 테스트 방법이다.
롤링(Rolling)
일반적인 배포를 뜻하고 단순하게 서버를 구성하여 배포 하는 전략이다.
구버전에서 신버전으로 변환시 일반적으로 사용되며 미리 서버에 대한 파악이 되어야한다.
아래 그림을 보면 이해에 도움이 될것이다.
이러면서 배포가 진행이 된다.
일반적인 서비스 배포 과정에서는 지금까지는 잠시 서버를 중단 시키고 업그레이드를 하거나 하는 문제들이 많았다.
서비스가 중단되면 문제가 되거나 불편함 등에서 위험이 발생한다.
그렇기 때문에 무중단 배포 전략이 필요하게 되었고 그 중에서 특히, Blue-Green 배포는 이미 Amazon에서 10년이 넘는 기간동안 이루어졌다. 그만큼 안정적이고 검증된 배포 프로세스이며 기본적으로 릴리즈와 관련된 모든 downtime을 줄이기 위한 Apllication Release 기술이다.
Blue-Green
아래 그림을 보면서 얘기를 해보면
사용자가 웹서버로 접근하기 위해서는 로드밸런서를 통해서 접근을 하게 된다.
현재는 파란 화살표를 통해서 특정 웹서버로 접근을 하는데 이동안 업데이트를 이뤄지는 테스트를 초록색에서 진행을 한다.
그리고 만약 초록색에서 테스트가 원활하게 이뤄진다면 화살표는 초록색을 가리키게 된다.
그리고 파란색 부분 역시 초록색으로 모두 바뀌면서 로드밸런서는 다시 정상 작동을 하게 된다.
- Blue_Green 장점
- 무중단
- 쉬운롤백
- 최종단계테스트
A/B Testing
이 테스트는 BlueGreen과는 다르게 기능적으로 upgrade된 적용이 아니라 서로 다른 두 버전의 app중 유용성, 인기도 등 기능을 테스트 하는 방법이고 아래 그림을 보면
더 많이 사용되는 부분에 대해서 설정을 해둘수 있다.
Canary Release
Canary 배포는 새로운 버전의 Application을 Production 환경으로 보내어 어떻게 동작하는지 모니터링 하는 도구로 사용될 수 있다.
다른 app들과의 연계 ,cpu, memory 등 사용량을 미리 검증할수 있다는 장점이 있다.
'IT > Knowledge' 카테고리의 다른 글
교착상태 / 기아상태 (48) | 2022.11.03 |
---|---|
git / github 차이 (32) | 2022.11.02 |
프로세스 관련 용어 (58) | 2022.10.24 |
가상 메모리 (35) | 2022.10.23 |
MRD 파일 (47) | 2022.10.21 |
댓글