본문 바로가기
DevOps

Container와 VM

by 규난 2022. 10. 10.
728x90

VM

HyperVisor(호스트 OS에서 다수의 OS를 동시에 실행하기 위한 플랫폼)라는것이 있다. 이 HyperVisor를 사용하여 원하는 운영체제로 GuestOS를 올려 여러 VM(서로 독립된 실행환경 이기 때문에 데이터, 코드 등 공유하지 않음)을 만들 수 있다. 

 

Container

애플리케이션이 OS환경에서 다른 OS환경으로 빠르고 안정적으로 실행될 수 있도록 코드와 모든 종속성을 패키징하는 소프트웨어 표준 단위이다. HyperVisor를 사용하지 않기 때문에 부팅시간이 짧고 컨테이너 수가 늘어나더라도 디스크 공간을 많이 차지하지 않는다.  OS를 포함하지 않기 때문에 각 컨테이너는 호스트의 OS의 커널(Kernel, 시스템 콜과 같이 OS의 핵심 기능을 구현한 프로그램)을 공유

 

Container와 VM의 차이

Container는 HyperVisor와 GuestOS가 필요하지 않아서 더 가볍고 Host OS 위에 Container image만 올리면 되기 때문에  OS의부팅이 필요 없고 어플리케이션 서비스를 시작하는 시간이 매우 짧다. 그에 반면 VM은 어플리케이션을 실행하기 위해 자원을 할당받아 GuestOS를 부팅하므로 복잡하고 무겁게 실행이 된다.

728x90