CICD

CICD

[CICD] 무중단 배포 (Rolling & Blue/Green & Canary)

중단 배포서비스에 대한 내용을 업데이트해야할 때 운영 중에 서비스를 내리고 업데이트 된 서비스를 배포한다. 하지만 서비스를 내리는 과정에서 서비스를 사용하지 못하는 Downtime이 발생한다. 이때 고객의 서비스 접근이 차단되고 더 나아가 서비스 중 차단으로 문제가 발생한다. 이를 해결하기 위해 중단 배포 대신 무중단 배포 3가지 방법 Rolling, Blue/Green, Canary 배포에 대해서 소개하고자 한다.Rolling 배포State0-State1-State2-FinalState 순으로 진행된다고 생각해보자. 파란색 서비스는 기존에 운영되던 V1 서비스, 초록색 서비스는 업데이트된 V2서비스라고 하자. Rolling 배포는 서비스 별로 업데이트 내용을 한번에 바꾸는 것이 아닌 점진적으로 트래픽 ..

CICD

[CICD] AWS EC2에서 Docker에서 Jenkins를 이용하여 서버 배포하기

일반적인 서비스 개발 및 유지 보수일반적인 앱의 개발 및 유지 보수는 Plan → Code → Build → Test → Release → Deploy → Operate의 반복으로 이뤄진다. 이러한 반복성을 통하여 지속적인 통합과 전달 과정을 만들어낼 수 있다.Plan구현, 테스트, 배포 모든 과정에 대한 계획 단계Code개발자가 코드를 원격 저장소에 Push하는 단계build원격 코드 저장소로부터 코드를 가져와 빌드하는 단계Test코드 빌드의 결과물에 대하여 전과 동일한 결과가 도출돠는 지 확인하는 단계Release배포 가능한 소프트웨어 패키지를 구현하는 단계Deploy소프트웨어를 배포하여 서비스를 사용자에게 제공하는 단계Operate사용자에게 제공된 서비스의 상태를 관리하여 문제를 감지하는 단계CIC..

JunHoChoi
'CICD' 카테고리의 글 목록