컨테이너 기술과 가상화 기술 비교

가상화 와 컨테이너 비교

가상화 기술은 하이퍼바이저를 통해 하드웨어를 에뮬레이션하여 가상 이미지 마다 게스트 운영 체제로를 사용합니다.

컨테이너는 애플리케이션 수준으로 구성되며 커널 하나를 공유하는 여러 OS 가상화합니다.

가상화 기술의 고질적인 문제점

가상화기술의 문제점

가상 머신은  Guest OS 에  BIOS, 가상 CPU, 가상 메모리, 가상 디스크, 가상 NIC 등을 제공하여 마치 물리서버에서 실행되는 것처럼 보입니다.

이 때문에 게스트 OS 입장에서는  OS 시작과 정지 등의 운영에 있어서 물리서버와 아무런 차이점 없이 운용이 가능합니다.

가상화 기술은 가상머신 이미지마다 OS (게스트 OS)가 필요합니다. 이로인하여 OS 에 대한 라이선스가 필요합니다.

또한 운영하면서 가상머신의 OS 별로 차이점이 발생하게 되고 이로 인하여 운영관리의 어려움이 증가하게 됩니다.

시간에 따라 이미지 사이즈가 증가하면서 마이그레이션에 대한 부담도 커지게 됩니다.

컨테이너 를 통한 가상화 기술의 문제점 해결

컨테이너를 이용한 가상화기술 문제 해결

컨테이너는 이와 달리 OS를 가상화하여 여러 개의 컨테이너를 OS 커널에서 직접 실행합니다. 컨테이너는 기존의 가상화 기술보다 훨씬 가볍게 동작하며, OS 커널을 공유하고, 시작 시간이나 종료 시간이 빠르고 ,  메모리를 훨씬 적게 차지합니다.

컨테이너는 가상 머신과 마찬가지로 애플리케이션을 관련 라이브러리 및 종속 항목과 함께 패키지로 묶어 소프트웨어 서비스를 위한 환경을 분리할 수 있도록 해줍니다. 가상화 기술과 컨테이너 기술이  유사점은 여기까지입니다. 컨테이너를 사용하면 개발자와 IT 운영팀이 훨씬 작은 단위로 업무를 수행할 수 있어이점이 훨씬 많습니다.

표로 정리한 가상화 와 컨테이너 비교

하이퍼 바이저 형 가상화

컨테이너 형 가상화

시작 시간

몇 분

몇 초

이미지 크기

수 GB ~ 수백 GB

OS를 포함하여 애플리케이션과 필요한 런타임 소프트웨어

~ 수백 MB

애플리케이션과 런타임 소프트웨어만

Guest OS

Windows/Linux 등 다양한 선택 가능

호스트 OS 와 동일한 OS

이식성

대부분 가상 이미지에 대한 변환이 필요함

컨테이너 이미지 그대로 사용 가능

데이터 관리

VM 내부또는 연결된 스토리지에 저장

컨테이너 내부에 있는 데이터는 종료시 소멸되며, 필요에 따라 스토리지를 이용하여 저장

Guest OS 와의 관계

Guest OS는 하드웨어(가상)로 인식

Host OS를 커널 수준으로 분리하여 OS를 가상화 형태로 사용하여 필요에 따라 호스트와 리소스 공유 가능

하이퍼 바이저 형 가상화와 컨테이너 기술를 비교하면 컨테이너는 OS가 포함되지 않아 크기가 작고, 고속으로 시작과 정지 합니다.

가상화 기술과 컨테이너 기술 비교

가상화 , 컨테이너 비교

하드웨어를 가상화 한  “가상 머신”이 커널을 공유한 「컨테이너」에 바뀌고 있습니다.

컨테이너는 커널이 공유화 됨으로써 OS 부팅은 불필요하고 가상 환경을 구성하는 스택이 간단합니다.

  • 컨테이너는 일반적으로 크기가 메가바이트 단위입니다. 앱보다 크거나 실행하는 데 필수적인 모든 파일이 컨테이너에 패키징되는 것은 아니며, 특정 작업을 수행하는 단일 기능(마이크로서비스라고 함)이 컨테이너에 패키징되는 경우가 많습니다. 컨테이너는 경량화 속성과 공유 운영 체제(OS)로 인해 여러 환경 간에 매우 쉽게 이동할 수 있습니다.
  • VM은 일반적으로 크기가 기가바이트 단위입니다. 일반적으로 VM은 자체 OS를 포함하고 있어 리소스 집약적인 기능 여러 개를 동시에 수행할 수 있습니다. VM에서 사용할 수 있는 리소스가 늘어남에 따라 VM은 전체 서버, OS, 데스크탑, 데이터베이스, 네트워크를 추상화, 분할, 복제, 에뮬레이션할 수 있습니다.
컨테이너 와 가상화 기술 비교 발표 자료

하이브리드 클라우드 환경을 준비한다면 어떤 기술을 사용해야할까요?

컨테이너와 VM을 비교하는 것은 기술적 차이를 넘어 새로운 IT 프랙티스와 기존 IT 아키텍처 간의 프록시를 비교하는 것입니다.

IT 분야에서 컨테이너 는 무엇일까요?

IT 분야에서 “컨테이너”도 일종의 박스의 의미이며, 물류분야에서 처럼 Portability (이동성) 을 실현하기 위해 만들어진 기술입니다.

이동성은 IT 시스템 (플랫폼 또는 인프라) 상에서 다른 IT 시스템으로 이동을 쉽게 허용하는 성질을 의미하는 것입니다.

컨테이너 기술 소게
물리서버, 가상화 그리고 컨테이너로의 발전
물리서버, 가상화를 넘어 컨테이너 까지

Container 기술이 등장하기 전까지 IT 역사를 되돌아 보겠습니다.

가상화기술이 출현하기 전에는 하나의 물리적 서버에서 다양한 애플리케이션을 올려 사용하는 시대였습니다.

가상화는 CPU 나 메모리 등의 하드웨어 자원을 하이퍼 바이저라는 소프트웨어로 추상화 한 것입니다.

컨테이너는 컨테이너 엔진이라는 프로세스를 통해 호스트 OS의 “커널”을 공유함으로써 CPU 나 메모리 등의 자원을 격리하고 가상적인 공간을 만들어냅니다.

Docker 그리고 컨테이너 기술의 역사

Container 기술의 시작과 현재까지 발전해온 역사를 살펴봅니다.

1972년 IBM VM / 370 (OS) 최초 가상화 기능 구현 , 1979 년 UNIX V7 에 chroot 시스템 콜 도입, 1999년 Virtuozzo 출시 컨테이너 가상화의 새로운 방향을 제시

Docker 그리고 컨테이너 기술의 역사
컨테이너 개념 소개

컨테이너 를 들으면 무엇이 떠오르나요?

항구나 공항 등에서 보는 직 물류 업계에서 사용되는 컨테이너가 떠오르 실 것입니다

Container는 내용물을 하나씩 이동하는 것이 아니라 박스에 수하물을 담아 통째로 이동하기 때문에 편리한 물류 수단입니다.

컨테이너 장점

가상 머신은 하드웨어 스택을 가상화합니다. 컨테이너는 이와 달리 OS를 가상화하여 여러 개의 컨테이너를 OS 커널에서 직접 실행합니다. 컨테이너는 기존의 가상화 기술보다 훨씬 가볍게 동작하며, OS 커널을 공유하고, 시작 시간이나 종료 시간이 빠르고 ,  메모리를 훨씬 적게 차지합니다

컨테이너 장점

References & Related Links

Summary
product image
Aggregate Rating
5 based on 7 votes
Brand Name
OPENMARU APM
Product Name
OPENMARU APM (Application Performance MAnagement)