CI/CD와 무중단 배포

어승준·2023년 10월 3일
0

10분 테코톡 정리

목록 보기
11/16
post-thumbnail

📌 용어

  • 컴파일
    • 프로그래머가 작성한 소스코드를 기계어로 변환하는 과정
  • 빌드
    • 소스코드 파일을 컴퓨터에서 실행할 수 있는 소프트웨어 산출물로 만드는 과정
  • 배포
    • 빌드의 결과물을 사용자가 접근할 수 있는 환경에 배치하는 것

📌 CI란

▶️ CI 4가지 규칙


📌 CD란


📌 CI/CD

▶️ CI/CD 툴


📌 CI/CD 정리


📌 무중단 배포

▶️ 무중단 배포 구현 방법

▶️ 리버스 프록시

▶️ 로드 밸런싱

▶️ 무중단 배포 방식

  • Rolling 배포
    • 무중단 배포의 가장 기본적인 방식
    • 서버를 차례대로 업데이트 시키는 방식
    • 장점
      • 인스턴스를 추가하지 않아도 돼서 관리가 간편
    • 단점
      • 사용중인 인스턴스에 트래픽이 몰릴 수 있음
      • 구버전과 신버전의 공존으로 인한 호환성 문제
  • Canary 배포
    • 옛날 광부들이 유독 가스에 민감한 카나리아 새를 이용해 가스 누출 위험을 감지했던 것에서 유래
    • 신버전을 소수의 사용자들에게만 배포
    • 문제가 없는 것이 확인되면 점진적으로 다른 서버에 신버전 배포
    • 장점
      • 문제 상황을 빠르게 감지 가능
      • A/B 테스트로 활용 가능
    • 단점
      • 모니터링 관리 비용
      • 구버전과 신버전의 공존으로 인한 호환성 문제
  • Blue/Green 배포
    • Blue를 구버전, Green을 신버전으로 지칭
    • 구버전과 동일하게 신버전의 인스턴스를 구성
    • 신버전 배포 시 로드 밸런서를 통해 신버전으로만 트래픽을 전환
    • 장점
      • 배포하는 속도가 빠르다
      • 신속하게 롤백 가능
      • 남아 있는 기존 버전의 환경을 다음 배포에 재사용
    • 단점
      • 시스템 자원이 2배로 필요

📌 무중단 배포 정리


출처 - https://www.youtube.com/watch?v=sIPU_VkrguI

profile
鈍筆勝聰(둔필승총) : '둔한 붓이 총명함을 이긴다' (서툴더라도 기록으로 남기는 것이 사람의 기억보다 훨씬 오래 보전된다) - 정약용

0개의 댓글