본문 바로가기
DevOps/Docker

가상서버와 컨테이너 비교

by yongckim 2021. 11. 30.
728x90
반응형
가상서버?

가상 서버는 가상화 소프트웨어를 사용하여 하드웨어를 공유하는 형태로 마치 한 대의 전용 서버가 있는 것처럼 이용할 수 있게 해줍니다.

 

한 대의 가상머신에서도 여러 대의 가상 서버를 가동할 수 있어 하드웨어 구입이나 설치 관리 비용을 줄일 수 있습니다.

 

이러한 가상화 소프트웨어를 하이퍼바이저(Hypervisor)라고 부르며 대표적으로 VMWare, VirtualBox, Hyper-V 같은 제품들이 있습니다.

컨테이너?

컨테이너란 가상화 기술중 하나로 대표적으로 리눅스 컨테이너가 있으며 기존의 OS를 가상화시키던 것과 달리 OS 레벨의 가상화로 프로세스를 격리시켜 동작하는 방식입니다.

 

대표적으로 docker, cri-o가 있습니다.

 

컨테이너와 가상 서버 비교
  • 가상서버
    • 컨테이너의 경우 커널이 공유되기 때문에 호스트 OS만 뚫려도 다른 컨테이너까지 위험해지지만 가상 서버의 경우 각각의 가상 머신이 독립적이기 때문에 구조 상으로 더 안전합니다.
  • 컨테이너
    • 가상 서버의 경우 하이퍼 바이저가 가상화 후 GUEST OS가 올라가지만 docker는 도커 엔진 위에 애플리케이션 실행에 필요한 바이너리 파일만 올라가기 때문에 공간을 더 적게 차지합니다.
    • 가상 서버와 컨테이너의 속도를 비교해보면 컨테이너가 더빠릅니다. 그 이유는 가상 서버는 io가 발생하는 통로가 컨테이너보다 많기 때문에 더 많은 처리를 하므로 컨테이너가 속도에서 더 뛰어납니다.
    • 많은 서버에 각종 소프트웨어 설치와 환경 설정을 할때마다 이미지화 해서 각 서버들에 배포할 수 있어 작업에 소요되는 시간이 훨씬 절약됩니다.
반응형