[Week15] 웹 개발 파이프라인 구축 (1) - 04/20

Kyulee·2026년 4월 24일

TIL 

목록 보기
72/90
post-thumbnail

이번 시간부터는 CI/CD 파이프라인과 컨테이너 기술 등 웹 개발의 배포 자동화 과정에 대해 정리하겠습니다.

1. 배포와 인도 자동화의 필요성

전통적인 소프트웨어 인도 프로세스는 개발품질 보증운영 단계로 나뉘어 진행됩니다. 이러한 전통적 방식에는 몇 가지 단점이 있습니다.

  • 인도 기간과 피드백 주기가 느립니다.
  • 자동화가 미비하여 핫픽스 적용 시 위험성이 큽니다.
  • 건전한 개발 문화를 형성하는 데 한계가 있습니다.

이러한 단점들을 보완하기 위해 각 단계를 자동화하는 파이프라인 구축이 필요합니다.


2. CI/CD (지속적 통합과 배포)

개발부터 배포까지의 단계를 자동화하는 것을 CI/CD라고 합니다.

구분의미역할
CI (Continuous Integration)지속적 통합코드의 빌드, 테스트, 병합이 잘 이루어지는지 자동으로 확인합니다.
CD (Continuous Delivery/Deployment)지속적 인도/배포기존 QA 팀의 인수 테스트와 운영 팀의 구성 관리 역할까지 자동화합니다.

CD를 성공적으로 구현하기 위해서는 다음과 같은 전제 조건이 갖춰져야 합니다.

  1. 자동화된 빌드 및 배포 환경
  2. 신속한 파이프라인 실행과 장애 복구
  3. 무중단 배포
  4. 트렁크 기반 개발(Trunk-based Development)

3. 파이프라인 구성 도구

웹 개발 파이프라인을 구축하기 위해 다양한 도구들을 활용합니다.

역할도구
컨테이너 가상화 및 클러스터 운용Docker, Kubernetes
파이프라인 자동화 서버Jenkins
구성 관리 자동화Ansible
버전 관리GitHub

4. 컨테이너화

응용 프로그램, 설정 파일, 라이브러리 및 관련 의존성을 하나로 묶어 관리하는 것을 컨테이너화라고 하며, 이렇게 묶인 덩어리를 컨테이너라고 부릅니다.

컨테이너화를 적용하면 다음과 같은 이점이 있습니다.

  • 개발 및 배포의 효율과 안정성이 향상됩니다.
  • 시스템 의존성이 최소화되어 소프트웨어 이식이 용이해집니다.
  • 이러한 유연성을 바탕으로 클라우드 컴퓨팅 인프라에서 널리 활용됩니다.

5. 가상화와 컨테이너 가상화

가상화란 물리적인 컴퓨터 리소스를 추상화하여, 사용자가 리소스와 상호작용하는 방식으로부터 물리적 특징을 감추는 기술입니다. 하나의 컴퓨터에서 여러 대의 컴퓨터를 운영하는 것처럼 만들어주는 VirtualBox가 대표적인 예시입니다.

이러한 가상화를 CI/CD 파이프라인에 사용하는 이유는, 항상 동일하고 통일된 환경을 제공하여 자동화를 적용하기 좋기 때문입니다.

서버 가상화 기술은 크게 두 가지로 나뉩니다.

방식특징
VM (가상 머신) 기반하이퍼바이저를 통해 하드웨어 자체를 모사합니다. 비교적 무겁고 느립니다.
컨테이너 기반OS를 모사하며, 컨테이너 엔진이 격리된 런타임 환경을 제공합니다.

컨테이너 가상화는 하드웨어를 모사하는 VM과 달리 OS를 모사하기 때문에 훨씬 가볍고 빠릅니다. 디스크 용량 절감과 낮은 오버헤드라는 장점도 있어 현대 개발 환경에서 널리 채택되고 있습니다.

profile
안녕하세요 매일의 배움을 기록으로 자산화하는 개발자 이규현입니다 😊

0개의 댓글