X

가상머신(VM)과 컨테이너(Container) 비교

1. 가상머신(VM)과 컨테이너(Container) 개념 비교

비교 항목 가상머신(Virtual Machine) 컨테이너(Container)
개념도
개념 하이퍼바이저를 통해 물리적인 자원을 재구성하여 논리적인 자원으로 제공하는 가상 컴퓨팅 환경 컨테이너 엔진을 통해 물리적인 자원을 격리하여 논리적인 자원으로 제공하는 가상 컴퓨팅 환경
  • 가상머신은 Guest OS로 완전격리되어 Host OS에 종속성이 낮지만 오버헤드가 발생하고, 컨테이너는 APP 단위 격리로 성능저하 방지 가능하나 Host OS에 종속성 존재

 

2. 가상머신과 컨테이너 상세 비교

비교 항목 가상머신(Virtual Machine) 컨테이너(Container)
구성도
구성요소 하이퍼바이저, Host OS, Guest OS LXC, Namespace, Cgroups, Libvirt
가상화 방식 전가상화, 반가상화 LXC 기반 컨테이너 기술
OS 지원 환경 다양한 OS 지원 단일 OS 지원 (Host OS)
실행 환경 Guest OS 기반 Container 기반
APP 종속성 완전 격리로 종속성 낮음 Host OS에 종속
오버헤드 Guest OS (오버헤드) 오버헤드 낮음
성능 오버헤드로 성능저하 성능 저하 낮음
H/W 관리 Type-1(Bare Metal): 베어메탈 서버에 하이퍼바이저 기동
Type-2(Hosted): Host OS에서 하이퍼바이저 기동
Namespace: 운영 환경을 고립시켜, 독립적인 공간을 제공하는 기능
Cgroups: 프로세스 그룹에 대한 자원 제한, 격리, 모니터링 수행
주요 제품 VMWare, Hyper-V, KVM, Xen LXC, Docker, Kubernetes
  • Linux Container 기반 기술은 개발 용이, 성능 장점, Hypervisor 기반 기술은 독립성이 높아 개별 서버 운영에 적합

 

3. 시스템 유형 별 가상화 기술 선택 기준

선택 기준 세부 내용 가상화 기술
서버 별 역할에 차이 – WAS서버와 DB서버
– 서로 다른 APP 서버
Hypervisor
서버 역할 동일 – 개발서버와 운용서버
– 동일 APP 서버
Linux Container
  • 동일 Driver 필요 시 Linux Container 방식 권장, 다른 Driver 필요 시 Hypervisor 방식 권장

 

[참고]

  • 소프트웨어정책연구소(SPRi), 클라우드 가상화 기술의 변화
Categories: 디지털서비스
도리: