정보관리기술/소프트웨어공학

중단/무중단 배포

아이티신비 2024. 1. 22. 10:00

문제2) 소프트웨어 개발 방법론이 발전하면서 제품은 더 빨리 출시되며 기능 추가와 보완을 위해 더 자주 배포되고있다. 개발 결과물을 고객에게 제공하기 위해 서버에 배포할 경우 검토할 수 있는 아래의 사항에 대해 설명하시오.

 

가. 중단 배포의 문제점

나. 무중단 배포를 위한 리버스 프록시와 로드밸런싱

다. 무중단 배포 방식의 종류

 

답)

 

 

1. 소프트웨어 배포의 개요 및 중단 배포의 문제점

가. 소프트웨어 배포의 개요

 

  • 소프트웨어 개발 이후 결과물을 고객에게 제공하는 방법으로. 시스템을 중단하는 중단배포와 시스템의 중단 없이 배포하는 무중단 배포로 분류

 

나. 중단배포의 문제점

다운타임 발생
  • 24시간 항상 가동되어야 하는 서비스의 경우 문제 발생가능
무결성 저하
  • 다중 서버 이용시 서버간 시차로 인한 중복 데이터 발생 가능
RollBack 시 중단
  • 배포시 문제 발생할 경우, Rollback 시에도 다운타임 발생
  • 중단배포의 문제를 최소화하기 위해 리버스 프록시와 로드밸런싱 기술을 이용한 무중단 배포 이용

 

2. 무중단 배포를 위한 리버스 프록시와 로드밸런싱

가. 리버스 프록시의 설명

 

구분
항목
설명
개념도
개념
  • 클라이언트가 특정 서버에 데이터 요청 시, 해당 서버에 대한 요청이 반드시 경우하도록 설치된 프록시 서버
특징
보안강화
  • 서버에 대한 정보 은닉 및 접근 차단을 위한 방어 역할
부하분산
  • 여러 서버로 부하를 분산하거나 데이터 버퍼링 역할
설정방법
정상 매핑
  • 클라이언트 요청을 타켓 서버로 재지정
  • 프록시 서버는 정상매핑 이용 데이터 접근
역방향 매핑
  • 데이터 접근 재지정 위한 서버 트랩 생성
  • 변경된 URL 정보를 프록시 서버 재지정
  • 동작방식은 forward proxy 와 유사하며, proxy 서버가 실제 서버의 처리결과를 client 에 전달

 

나. 로드밸런싱의 설명

구분
항목
설명
개념도
개념
  • Inbound Traffic 의 Destination Port 중심으로 사설망 내 특정 서버로의 부하를 방지하는 기술
종류
NLB(Network LoadBalancer)
Client IP와 서버 사이에 서버로 들어오는 트래픽은 Load Balancer 를 통하고 나가는 트래픽은 Client IP와 직접 통신
ALB(Application LoadBalance)
Reverse Proxy 대로 Client IP와 서버사이에 들어오고 나가는 트래픽이 모두 Load bALANCER 와 통신
알고리즘
라운드 로빈
클라이언트로부터 받은 요청을 로드밸런싱 대상 서버에 순서대로 할당받는 방식
최소연결방식
연결 수가 가장 적은 서버에 네트워크 연결방향을 정하는 방식

 

3. 무중단 배포 방식의 종류

가. 롤링 배포(Roll Deployment)

구분
항목
설명
개념도

개념
  • 롤링 배포는 사용 중인 인스턴스 내에서 새 버전을 점진적으로 교체하는 것으로 무중단 배포의 가장 기본적인 방식
방식
  • 서비스 중인 인스턴스 하나를 로드밸런서에서 라우팅하지 않도록 한 뒤, 새 버전을 적용하여 다시 라우팅하고, 이를 반복하여 모든 인스턴스에 새 버전의 애플리케이션을 배포

 

나. 블루-그린 배포(Blue-Green Deployment)

구분
항목
설명
개념도
개념
  • 블루를 구버전, 그린을 신버전으로 지칭하여 붙여진 이름으로 운영 환경에 구버전과 동일하게 신버전의 인스턴스를 구성한 후, 로드밸런서를 통해 신버전으로 모든 트래픽을 전환하는 배포 방식
방식
  • 구버전과 동일한 운영 환경으로 신버전의 인스턴스를 구성
  • 실제 서비스 환경에서 신버전을 미리 테스트 할 수 있는 장점 및 롤링 배포와 마찬가지로 빠른 롤백이 가능
  • 배포가 완료된 후 남아 있는 기존 버전의 환경을 다음 배포에 재사용 가능

 

다. 카나리 배포(Canary Deployment)

구분
항목
설명
개념도
개념
  • 신버전의 제공 범위를 늘려가면서 모니터링 및 피드백 과정을 통해 잠재적 문제 상황을 미리 발견하기 위한 방식
방식
  • 신버전의 배포 전에 실제 운영 환경에서 미리 테스트한다는 점이 블루-그린 배포와 비슷한 방식
  • 단계적인 전환 방식을 통해 부정적 영향을 최소화하고 상황에 따라 트래픽 양을 늘리거나 롤백 가능
  • 롤링 배포와 마찬가지로 신·구 두 버전이 운영되기 때문에 버전 관리가 필요

 


 

공감과 댓글은 아이티신비에게 큰 힘이 됩니다.

블로그 글이 유용하다면 블로그를 구독해주세요.♥