Tipos de hosting 2 min

Máquina virtual vs contenedor

En una frase

Una máquina virtual (VM) virtualiza un ordenador completo con su propio sistema operativo mediante un hipervisor, mientras que un contenedor comparte el kernel del sistema operativo del host y empaqueta solo la aplicación y sus dependencias. El contenedor es mucho más ligero y arranca en segundos.

Qué es Máquina virtual vs contenedor

Una máquina virtual (VM) emula un equipo completo: hardware virtual y un sistema operativo propio sobre un hipervisor. Un contenedor empaqueta solo una aplicación y sus dependencias, compartiendo el núcleo del sistema operativo del servidor anfitrión. Por eso un contenedor arranca en segundos y pesa megas, mientras una VM pesa gigas y tarda más.

Cómo funciona

En virtualización, el hipervisor reparte el hardware entre varias VM aisladas. En contenedores, un motor como Docker aísla procesos usando funciones del kernel (namespaces, cgroups): mucho menos sobrecoste, pero menos aislamiento. A menudo se combinan: contenedores corriendo dentro de VM.

Cuándo usarlo

VM: cuando necesitas otro sistema operativo, aislamiento fuerte o ejecutar software "como en un PC propio". Contenedor: para desplegar aplicaciones de forma rápida, reproducible y escalable, sobre todo con microservicios.

Datos curiosos

  • Docker popularizó los contenedores a partir de 2013, aunque la tecnología base es más antigua.
  • Una VM puede tardar minutos en arrancar; un contenedor, segundos.
  • Por seguridad, hay contenedores "endurecidos" o ejecutados dentro de microVM (gVisor, Firecracker).

Preguntas frecuentes

¿Cuál es más seguro?

La VM, por norma general: aísla a nivel de hardware virtual. El contenedor comparte kernel, así que un fallo en él afecta a más.

¿Puedo usar ambos?

Sí, es lo habitual: contenedores corriendo dentro de máquinas virtuales.

¿Cuál pesa menos?

El contenedor: solo tu app y sus dependencias, sin un sistema operativo completo dentro.