클라우드 가상화와 컨테이너 기술

Yuno·2025년 5월 31일

데이터 사이언스

목록 보기
24/25

1️⃣ 가상화(Virtualization) 개념

  • 실제 컴퓨팅 자원을 여러 가상 환경으로 분리하여 독립적으로 활용 가능하게 만드는 기술.
  • 물리 서버 하나를 여러 개의 가상 서버로 나누어 자원을 효율적으로 활용.

2️⃣ 컨테이너(Container)의 개념

  • 애플리케이션과 이를 실행할 수 있는 모든 환경(라이브러리, 코드 등)을 하나의 단위로 묶은 것.
  • 독립적, 가벼운 환경에서 소프트웨어를 쉽게 배포하고 관리할 수 있도록 해줌.

✨ 컨테이너의 등장 배경

  • 개발한 프로그램이 실행 환경의 차이로 인해 오류를 일으키는 문제 해결.
  • 서로 다른 환경에서도 동일한 방식으로 프로그램이 작동할 수 있도록 보장.

3️⃣ 컨테이너 vs 가상머신(VM) 비교

구분컨테이너 (Container)가상머신(VM)
아키텍처OS 커널 공유OS 별도 설치 (게스트 OS 필요)
무게(자원 사용량)가볍고 빠름무겁고 비교적 느림
유지 관리효율적이며 관리가 편함관리 복잡성 높음
시작속도수 초 이내수 분 이상
용도특정 애플리케이션 다량 배포에 적합다양한 OS 환경, 높은 보안 환경에 적합
비용운영체제 비용 절약OS 별도 설치 비용 발생

4️⃣ 컨테이너의 장점

장점설명
가벼움VM 대비 리소스 사용량이 적어 빠르게 실행
탄력성리소스를 유연하게 배분, 증가/감소에 따라 자원 효율적 활용
밀도물리 서버 자원을 최적화하여 여러 개의 컨테이너 운영 가능
높은 성능OS 커널을 공유하여 자원 사용 최적화 및 성능 향상
쉬운 유지관리한번에 다수의 컨테이너를 쉽게 배포하고 관리 가능

5️⃣ 컨테이너 오케스트레이션(Container Orchestration)

  • 컨테이너가 많아지면 관리가 어려워짐 → 컨테이너를 효율적으로 관리·배포하는 기술

✨ 주요 기능 및 용어

기능설명
서비스 디스커버리서비스 위치(IP, 포트 등) 자동 탐색 및 관리
로드 밸런싱트래픽을 여러 서버로 분산하여 부하 관리
스케줄링컨테이너 배치를 최적화, 장애 시 재배치
클러스터링여러 대의 서버를 묶어 하나처럼 관리
로깅/모니터링전체 컨테이너 상태를 중앙에서 관리하고 모니터링

✨ 주요 도구

  • Kubernetes(쿠버네티스)
    • 구글에서 개발한 대표적인 컨테이너 관리 플랫폼
    • 가장 많이 사용되는 오케스트레이션 도구
  • Docker Swarm, LXC 등

6️⃣ Docker(도커) 개념과 특징

  • 컨테이너를 쉽게 만들고 배포하도록 지원하는 오픈소스 플랫폼
  • 컨테이너를 관리하기 위한 대표적 엔진이며, 컨테이너의 표준적인 형태

✨ Docker의 구성 요소

  • 이미지(Image): 컨테이너를 실행할 수 있는 모든 정보를 묶은 파일(실행파일 개념).
  • 컨테이너(Container): 이미지를 실행하여 실제로 동작하는 프로세스.

✨ Docker의 핵심 특징

  • 간단하고 빠르게 환경을 구성 및 배포 가능
  • OS와 독립적이며 이식성이 뛰어남
  • 기존 환경에서 다른 환경으로 이동할 때 발생하는 오류 최소화
  • 수정이 불가능한 형태로 배포하여 환경 관리 용이
profile
Hello World

0개의 댓글