더북(TheBook)

4.1 컨테이너 또는 가상 머신?

여전히 많은 기업에서 가상 머신(VM)은 소프트웨어 배포를 위한 사실상 표준이다. 이 절에서는 VM과 컨테이너의 주된 차이점을 살펴볼 것이다.

VM은 한 컴퓨터 내에서 다른 컴퓨터 동작을 에뮬레이션할 수 있는 소프트웨어 환경이다. 물리 머신을 완벽히 에뮬레이션하는 하이퍼바이저(hypervisor)에 기반을 두며, 하이퍼바이저는 시스템 메모리, 프로세서 코어, 디스크 스토리지 및 네트워크, PCI 애드온 등 다른 기술 자원의 요구량을 할당하는 역할을 한다. 반면 컨테이너는 격리되고 독립된 환경에서 애플리케이션의 의존성 구성 요소와 함께 애플리케이션을 실행할 수 있는 가상 운영 체제(OS)가 포함된 패키지다.

이 두 기술의 구동 역할을 하는 하이퍼바이저나 컨테이너 엔진이 있다는 점에서 두 기술은 유사하지만 각 구현 방식은 매우 다르다. 그림 4-1에서 VM과 컨테이너의 주요 차이점을 볼 수 있다.

▲ 그림 4-1 VM과 컨테이너의 주요 차이점은 컨테이너는 자원 할당을 위한 게스트 OS나 하이퍼바이저 대신 컨테이너 엔진을 사용한다는 것이다

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.