가상머신과 컨테이너, 클라우드의 차이

Multipass와 AWS에서 MLflow를 사용하는 것을 두고 고민하고 있었는데, 한 친구가 “그런데 지금 가상머신과 클라우드를 비교하는 거예요?”라고 묻는 순간 생긴 궁금증을 정리한 글
ubuntuVMContainerCloud
avatar
2025.06.03
·
9 min read

저는 다음 두 가지 선택지 사이에서 고민했습니다.

  • 로컬에서 Multipass를 이용해 Ubuntu 가상머신을 생성하는 방법

  • AWS EC2에서 Ubuntu 인스턴스를 사용하는 방법

결론적으로, 혼자 테스트 용도로 사용할 예정이기 때문에 Multipass를 선택했습니다.
가상머신, 컨테이너, 클라우드의 차이는 아래에서 자세히 설명드리겠습니다.

가상머신(Virtual Machine)

6542

가상머신은 쉽게 말해, 내 컴퓨터 안에 또 하나의 컴퓨터를 만드는 기술입니다. 하나의 물리 서버(Host)위에 하이퍼바이저(Hypervisor)라는 소프트웨어를 통해 여러 개의 가상 컴퓨터(Guest)를 만드는 기술입니다. 각 가상머신은 독립된 운영체제를 가지고 있고, CPU, 메모리, 디스크 등 자원을 일정 부분 할당받아 마치 별도의 물리 서버처럼 동작합니다. 가상머신은 내 컴퓨터 안에 또 하나의 컴퓨터를 만드는 것이기 때문에 내 컴퓨터의 자원에 의존합니다. 예를 들어, Multipass를 사용해 우분투 가상머신을 띄우면, 필자의 컴퓨터가 Apple M3 칩을 사용하고 있기 때문에, 생성되는 VM은 aarch64(ARM 64비트) 아키텍처 기반으로 동작합니다.

컨테이너(Container)

6541

가상머신은 강력하지만 무겁습니다. VM마다 운영체제를 따로 올리기 때문에 시작 속도가 느리고, 자원을 많이 사용합니다. 개발자는 “같은 코드인데 내 컴퓨터에서는 되는데 서버에서는 왜 안되지?” 같은 문제에도 자주 부딪히곤 했습니다.

이러한 문제를 해결하기 위해 등장한 것이 컨테이너입니다. 컨테이너는 호스트 운영체제의 커널을 공유하면서, 앱과 라이브러리만 격리된 환경에서 실행됩니다. VM보다 훨씬 가볍고 빠르며, 환경을 코드로 정의한 Dockerfile 하나로 동일한 환경을 어디서든 재현할 수 있습니다.

가상머신은 호스트 운영체제 위에 올라가지만, 독립된 운영체제를 따로 가지고 있으므로 가상머신 내부에는 별도의 커널이 존재합니다. 컨테이너는 별도의 운영체제나 커널을 가지지 않고, 호스트 운영체제의 커널을 공유합니다.

클라우드(Cloud)

6540

기존에는 서버, 가상머신, 컨테이너를 직접 구축하고 관리해야 했습니다. 서버를 사거나, 네트워크를 구성하거나, 데이터센터를 운영하는 것은 중소기업이나 개인 개발자에게는 큰 부담이었습니다. 이런 문제를 해결하기 위해 등장한 것이 바로 클라우드입니다.

클라우드는 AWS, GCP, Azure 같은 업체들이 대신 인프라를 구축해두고, 우리는 필요한 만큼만 자원을 빌려 쓰는 구조입니다. 덕분에 몇 분 만에 가상머신을 띄우고, 저장소를 추가하며, 글로벌 서비스를 운영하는 것도 가능해졌습니다. 클라우드는 단순히 VM을 제공하는 것을 넘어, 데이터베이스, 로드밸런서, 모니터링, 자동 확장 등 다양한 서비스를 종합적으로 제공하는 플랫폼입니다. AWS EC2 같은 경우, 클라우드에 있는 하나의 가상머신입니다. 실행 위치는 로컬이 아니라 AWS 데이터센터입니다.

아래의 내용이 궁금하시다면 봐주세요 🙌🏻

서버를 배포한다?
예전에 선배가 “서버를 배포한다는 게 무슨 의미야? 그거 포트 여는 거 아냐?”라고 물었을 때 제대로 답하지 못했던 기억을 떠올리며 정리한 글
https://until.blog/@kirise/%EC%84%9C%EB%B2%84%EB%A5%BC-%EB%B0%B0%ED%8F%AC%ED%95%9C%EB%8B%A4-
서버를 배포한다?

Ref.

[가상화] 3. 가상머신(VM)과 하이퍼바이저 쉽게 이해하기
들어가며 지난 포스팅에서 가상화의 개념과 등장 배경에 대해 알아봤습니다. 오늘은 서버 가상화의 중요한 개념인 가상 머신과 하이퍼바이저를 다루어 보겠습니다. 지난 글 참조 ✔️ [가상화] 2. Virtualization(가상화)의 등장 배경과 발전 가상 머신(Virtual Machine, VM)이란? RedHat 홈페이지에서는 가상 머신을 아래와 같이 정의하고 있습니다. 가상 머신(Virtual Machine, VM)은 물리적 하드웨어 시스템에 구축되어 자체 CPU, 메모리, 네트워크 인터페이스 및 스토리지를 갖추고 가상 컴퓨터 시스템으로 작동하는 가상 환경입니다. / RedHat 가상화 기술 등장 이후, 우리는 한 개의 물리 서버를 두 개 이상의 가상 서버로 동작시킬 수 있게 되었습니다. 덕분에 더 이상..
https://selog.tistory.com/entry/가상화-가상머신VM과-하이퍼바이저-쉽게-이해하기
[가상화] 3. 가상머신(VM)과 하이퍼바이저 쉽게 이해하기
VM(가상머신) VS Container(컨테이너)
도커와 쿠버네티스에 대해서 공부하다보니 가상서버에 대한 개념으로 가상머신기반 혹은 컨테이너 기반의 차이에 대한 언급이 많았다. 도커와 쿠버네티스는 기본적으로 컨테이너 기반의 가상화 플랫폼이다. 그렇다면 가상머신과 컨테이너 기반의 차이는 무엇일까? 가상머신(virtual machine) 가상머신은 컴퓨터 환경을 가상화하여 소프트웨어로 구현한 것이다. 이러한 가상머신들을 위의 그림과 같이 하이퍼 바이저가 가상화 하여서 guest OS와 함께 컴퓨터 환경이 구성된다. 컨테이너(Container) 가상머신보다 더 작은 단위이고 실제로 내부에서 처리하는 일도 더 적기 때문에 보다 간단하고 빠르고 효율적으로 애플리케이션을 실행할 수 있다. 그러나 가상머신처럼 가상의 guest os를 구성하여 여러 os를 사용할 수..
https://hazel-developer.tistory.com/242
VM(가상머신) VS Container(컨테이너)






- 컬렉션 아티클