본문 바로가기
DevOps

Virtual Machine과 Container의 비교

qbang 2025. 9. 8.

가상머신(VM, Virtual Machine)

[Physical Server]
       │
   [Host OS]
       │
 ┌─────────────┐
 │ Hypervisor  │
 └─────────────┘
   ┌──────────┐
   │ VM 1     │ -> Guest OS + Service 1
   └──────────┘
   ┌──────────┐
   │ VM 2     │ -> Guest OS + Service 2
   └──────────┘
  • 동작 원리: 물리 서버 위에 호스트 OS가 설치되고, 그 위에 하이퍼바이저(VMware 등)를 사용하여 원하는 게스트 OS를 올림
  • 특징:
    • 호스트 OS와 게스트 OS 종류가 달라도 사용 가능
    • 각 VM이 독립된 운영체제 환경을 제공하므로 안정적
    • 서비스 단위로 확장 가능 

 

컨테이너(Container)

[Physical Server]
       │
   [Host OS]
       │
 ┌─────────────┐
 │ Docker/컨테이너 엔진 │
 └─────────────┘
   ┌──────────┐
   │ Container 1 │ -> App + 라이브러리
   └──────────┘
   ┌──────────┐
   │ Container 2 │ -> App + 라이브러리
   └──────────┘
  • 동작 원리: 물리 서버 위의 호스트 OS에서 컨테이너 엔진(Docker 등)을 사용해 서비스를 격리된 컨테이너 단위로 실행함
  • 특징:
    • 호스트 OS와 게스트 OS가 동일해야 함
    • OS에서 제공하는 자원 격리 기술을 활용해 서비스 단위로 독립 실행
    • 라이브러리와 애플리케이션을 함께 패키징하므로, OS 버전에 구애받지 않고 이식성 뛰어남
    • 모듈 단위로 확장 가능 (예시. 서비스별 마이크로서비스를 각각 컨테이너로 운영)

'DevOps' 카테고리의 다른 글

쿠버네티스 Overview  (1) 2025.09.17
아파치 카프카 개발  (0) 2022.01.25
아파치 카프카(Apache Kafka) 기초  (0) 2022.01.19
WebSocket vs HTTP  (0) 2022.01.04
모놀리식 vs 마이크로서비스 아키텍처  (0) 2021.11.21

댓글