¿Qué es una máquina virtual?

Última actualización: 26/6/2026

Una máquina virtual (VM) es una computadora basada en software que ofrece un entorno aislado en el hardware host. Las máquinas virtuales pueden ejecutar programas y sistemas operativos, almacenar datos, conectarse a redes y realizar otras funciones de procesamiento. Gran parte de la tecnología que nos beneficia hoy en día, como la computación en la nube y la inteligencia artificial, se basa en el concepto de máquina virtual, que permite separar los sistemas operativos y el software de una máquina física. Por ejemplo, las VMs en la computación en la nube se usan para virtualizar los recursos de los servidores de los proveedores de servicios en la nube, lo que habilita una arquitectura de nube multiusuario que permite que los clientes compartan recursos mientras están aislados entre sí.

¿Cómo funcionan las máquinas virtuales?

Las máquinas virtuales usan tecnología de virtualización para crear hardware virtual, o una versión virtual de una computadora en una máquina física. La máquina física en la que se ejecutan las VMs se denomina máquina anfitrión, y las VMs que se ejecutan en el host se denominan máquinas huésped.

Una capa de software ligera llamada hipervisor divide los recursos de hardware físico de la máquina anfitrión, como CPU, GPU, TPU, memoria (RAM), almacenamiento y redes. Luego, el hipervisor asigna estos recursos a cada VM invitada. Esto te permite ejecutar varios sistemas operativos “invitados” de forma simultánea y aislada en una sola máquina “anfitrión”. Por ejemplo, Google Compute Engine usa un hipervisor basado en KVM para administrar y asignar recursos de manera eficiente a las máquinas virtuales que creas.

Cada VM invitada se ejecuta en una partición aislada en el host, separada por completo de los demás invitados. Puedes alojar varias VMs en una sola máquina anfitrión, a menudo un servidor. El hipervisor mejora la eficiencia y la flexibilidad generales abstrayendo los recursos físicos de la máquina anfitrión en un grupo. Estos recursos se pueden aprovisionar y asignar de forma dinámica a VMs invitadas en función de sus requisitos específicos.

Dos tipos principales de hipervisores

  • Tipo 1: Hipervisores físicos: Se ejecutan directamente en el hardware físico del host. Se usan comúnmente en centros de datos empresariales por su alto rendimiento y eficiencia. Por ejemplo, Google Cloud usa un hipervisor basado en KVM para potenciar sus máquinas virtuales de Compute Engine.
  • Tipo 2: hipervisores alojados: Estos se ejecutan como una aplicación sobre un sistema operativo existente, lo que los hace adecuados para el uso de escritorio. El caso de uso más común es para desarrollo y pruebas.

Tipos de máquinas virtuales

En términos generales, existen dos tipos de máquinas virtuales: VMs de proceso y VMs de sistema.

Una VM de proceso, también llamada máquina virtual de aplicación o entorno de ejecución administrado (MRE), crea un entorno virtual de un SO mientras se ejecuta una app o un proceso único, y lo destruye en cuanto tú sales. Las VMs de procesos permiten crear un entorno independiente de la plataforma que permite que una app o un proceso se ejecuten de la misma manera en cualquier plataforma. Un ejemplo concreto de esto es el servidor de Node.js en Cloud Run. Cloud Run ofrece un entorno completamente administrado en el que tu aplicación se ejecuta en un contenedor, abstraído de la infraestructura subyacente.

Una VM del sistema (a veces llamada máquinas virtuales de hardware) simula un sistema operativo completo, lo que permite que varios entornos de SO residan en la misma máquina. Por lo general, es el tipo de VM al que se refieren las personas cuando hablan de “máquinas virtuales”. Las VMs del sistema pueden ejecutar su propio SO y sus aplicaciones, y un hipervisor supervisa y distribuye los recursos de la máquina anfitrión física entre las VMs del sistema.

Máquinas virtuales en la nube

Es posible que, más recientemente, también hayas escuchado hablar sobre máquinas virtuales en la nube o VMs en la nube. Las máquinas virtuales en la nube son simplemente máquinas virtuales que se ejecutan en servidores virtuales en la nube. Muchos proveedores de servicios en la nube permiten crear y ejecutar máquinas virtuales en la nube en su infraestructura, lo que permite usar sus potentes servidores como máquinas anfitrión y aprovechar otros servicios definidos por software, como el almacenamiento de memoria y de red. Estas VMs en la nube suelen clasificarse según su optimización de recursos:

  • Las VMs de uso general son adecuadas para una amplia variedad de tareas y cargas de trabajo.
  • Las VMs optimizadas para procesamiento están diseñadas para la computación de alto rendimiento (HPC) y las aplicaciones de procesamiento intensivo.
  • Las VMs con optimización de memoria son ideales para bases de datos empresariales a gran escala y cargas de trabajo que requieren grandes cantidades de memoria.
  • Las VMs especializadas se configuran con recursos específicos de alta gama, como GPU, para IA/AA y computación científica avanzada.
  • Las Confidential VMs son un tipo seguro que protege los datos incluso mientras se procesan en la memoria.

Preguntas frecuentes

Una máquina virtual es una emulación de software de una computadora física, mientras que un escritorio virtual es una interfaz de usuario que permite acceder a un entorno de escritorio alojado en un servidor remoto. La diferencia clave entre ellos es que una máquina virtual emula una computadora completa, mientras que un escritorio virtual ofrece acceso remoto a un entorno de escritorio.

Las máquinas virtuales suelen ser seguras, ya que brindan aislamiento entre el sistema host y la máquina virtual, lo que reduce el riesgo de propagación de malware. Sin embargo, su seguridad depende de una configuración adecuada, actualizaciones periódicas y prácticas de seguridad apropiadas. Si no se administran correctamente, las máquinas virtuales pueden seguir siendo vulnerables a los ataques, por lo que es esencial seguir las prácticas recomendadas de seguridad.

Sí, una máquina virtual ocupa espacio de almacenamiento en el sistema host. La cantidad de almacenamiento que se usa depende del tamaño del disco duro virtual, el sistema operativo y las aplicaciones instaladas. Además, las máquinas virtuales se pueden configurar para asignar almacenamiento de forma dinámica según sea necesario o para usar una cantidad fija de almacenamiento.

VMs frente a contenedores

Si bien las VMs y los contenedores se usan para aislar aplicaciones, lo hacen de formas fundamentalmente diferentes. Una máquina virtual virtualiza toda la pila de hardware físico, incluido el sistema operativo. Esto hace que cada VM sea un entorno aislado y autónomo, pero también significa que las VMs tienden a ser más grandes y a ocupar más recursos.

Por el contrario, los contenedores son más ligeros porque solo virtualizan la capa del SO. En lugar de agrupar un sistema operativo completo con cada aplicación, un contenedor comparte el kernel del SO del host. Esto hace que los contenedores usen menos recursos que las VMs y se inicien más rápido, mientras permanecen aislados. Esto hace que los contenedores sean atractivos para el desarrollo de nuevas aplicaciones. Dado que muchas de las aplicaciones desarrolladas en los últimos 10 años se escribieron para contenedores, muchas cargas de trabajo, incluidas las de comercio electrónico, back-office y de IA, son “nativas de contenedores”.

¿Cómo se usan las máquinas virtuales?

Las VMs son los componentes básicos de los recursos de procesamiento virtualizados y desempeñan una función principal en la creación de cualquier aplicación, herramienta o entorno, tanto en la nube como de forma local.

Estas son algunas de las formas más comunes en que las empresas usan las máquinas virtuales:

Múltiples máquinas físicas se pueden reconfigurar como una VM y ejecutarse en un host junto con otras VMs, lo que permite a las organizaciones reducir la dispersión. Con el tiempo, se demostró que las VMs son capaces de ejecutar incluso las aplicaciones más sensibles al rendimiento.

Una organización central de TI puede aprovisionar y administrar VMs para cada unidad de negocios y área funcional, lo que acelera el acceso a los recursos y mejora la visibilidad corporativa.

Las VMs pueden actuar como entornos aislados para realizar pruebas y desarrollar que incluyen una funcionalidad completa, pero no tienen un impacto en la infraestructura circundante.

Las VMs se pueden desactivar, migrar y adaptar con facilidad, lo que proporciona máxima flexibilidad para el desarrollo y la implementación.

La flexibilidad y portabilidad que proporcionan las VMs son clave para aumentar la velocidad de las iniciativas de migración.

Replicar sistemas en entornos de nube mediante VMs puede proporcionar una capa adicional de seguridad y certeza. Los entornos de en la nube también se pueden actualizar de forma continua.

Las VMs proporcionan la base para crear un entorno de nube junto con un entorno local, lo que aporta flexibilidad sin abandonar los sistemas heredados.

Las VMs te permiten ejecutar diferentes sistemas operativos en una sola máquina física. Por ejemplo, puedes ejecutar una VM de Windows Server en Compute Engine de Google Cloud, incluso si tu entorno de desarrollo principal usa Linux. Google Cloud ofrece una variedad de imágenes de SO para satisfacer diversas necesidades.

Replicar sistemas en entornos de nube mediante VMs puede proporcionar una capa adicional de seguridad y certeza. Los entornos de en la nube también se pueden actualizar de forma continua.

Beneficios de las máquinas virtuales

Las máquinas virtuales ofrecen muchos beneficios, en especial si optas por una VM de nube, incluidos los siguientes: 

Escalabilidad

Las VMs basadas en la nube facilitan el escalamiento de tus aplicaciones, lo que aumenta la disponibilidad y el rendimiento. Puedes aumentar tu capacidad según la demanda sin tener que invertir en tus propios servidores físicos. 

Portabilidad

Una máquina virtual es un paquete de software único con recursos de hardware, un sistema operativo y todas sus aplicaciones. Puedes trasladar las VMs de un servidor a otro con facilidad, o incluso de hardware local a entornos de nube. 

Reducción de la huella y los costos

Las VMs te permiten ejecutar varios entornos virtuales desde una sola máquina, lo que ayuda a reducir la huella de tu infraestructura física, la factura de electricidad y los costos de administración y mantenimiento. 

Aprovisionamiento más rápido 

Las VMs se pueden duplicar con facilidad, lo que permite que las empresas inicien entornos idénticos nuevos sin tener que configurarlos desde cero.

Confiabilidad

Las máquinas virtuales y sus componentes existen de forma virtual y permanecen aislados de otras VMs invitadas. Si la VM falla, las otras VMs invitadas permanecerán en funcionamiento, y la máquina anfitrión física no se verá afectada. 

Mejor seguridad

Las máquinas virtuales te permiten ejecutar varios sistemas operativos sin afectar al sistema operativo del host. Las VMs te permiten crear entornos virtuales y seguros para probar apps o incluso estudiar vulnerabilidades de seguridad sin riesgos para la máquina anfitrión. Las ofertas modernas de VMs, como las Confidential VMs de Google Cloud, brindan encriptación en uso para los datos que se procesan en la memoria a través de un entorno de ejecución confiable (TEE) basado en hardware.

Posibles desafíos de las máquinas virtuales

Sin embargo, deben tenerse en cuenta algunas consideraciones cuando se ejecutan VMs. Uno de los mayores desafíos potenciales de las máquinas virtuales es que ejecutar varios sistemas operativos y una capa de hipervisor puede tener un costo de rendimiento si la máquina anfitrión no es lo suficientemente sólida. Además, es posible que el hardware virtual no sea tan eficiente como el hardware físico de una máquina física. Por último, la mayoría de los proveedores de servicios en la nube ofrecen máquinas virtuales que tienen una CPU y una memoria fijas, lo que lleva a un uso ineficiente de los recursos.

Sin embargo, muchas de estas inquietudes se pueden superar si se opta por usar las VMs que ofrece un proveedor de servicios en la nube. Las VMs de Cloud proporcionan muchas ventajas en comparación con las VMs tradicionales, ya que les ofrecen a las organizaciones acceso a la potencia de procesamiento de las computadoras de todo un centro de datos, en lugar de hacerlo en una sola máquina. Además, los tamaños de máquinas virtuales de Google Compute Engine ofrecen tipos de máquinas personalizados. En lugar de elegir entre tipos de máquinas predefinidos que podrían incluir capacidad excesiva, puedes adaptar la proporción de CPU a memoria específicamente para tus cargas de trabajo, de modo que solo pagues por los recursos que realmente usas. Este enfoque específico minimiza el desperdicio y puede reducir significativamente tu inversión en la nube, especialmente cuando migras de un entorno local a Google Cloud o desde otros proveedores de servicios en la nube. Compute Engine también ofrece tipos de máquinas virtuales optimizados para necesidades específicas de los clientes en cargas de trabajo empresariales, parámetros de configuración de memoria alta o cargas de trabajo exigentes, como aprendizaje automático o computación de alto rendimiento.

Google Cloud también ofrece máquinas virtuales protegidas para aumentar la seguridad y la integridad verificable de tus instancias de VM. Las máquinas virtuales protegidas por Google Cloud aprovechan las capacidades y los controles de seguridad avanzados de la plataforma que protegen las cargas de trabajo empresariales de amenazas como ataques remotos, elevación de privilegios y usuarios maliciosos con información privilegiada. 

Para ciertas aplicaciones, los desarrolladores pueden optar por omitir las VMs tradicionales por completo. Los modelos de implementación modernos, como la organización de contenedores (Google Kubernetes Engine - GKE) y la computación sin servidores (Cloud Run), son alternativas potentes para casos de uso específicos, ya que permiten a los equipos omitir la administración del sistema operativo de la VM, mejorar la velocidad de implementación y, a menudo, lograr mayores ahorros de costos.

Comienza a usar máquinas virtuales en Google Compute Engine

Si ya tienes todo listo para comenzar a usar máquinas virtuales, Google Cloud las ofrece a través de Compute Engine. Compute Engine ofrece instancias de VM flexibles y autoadministradas alojadas en la infraestructura de Google. Aquí tienes una descripción general de alto nivel sobre cómo crear una VM en Compute Engine y conectarte a ella:

Configura el proyecto de Google Cloud

Necesitas un proyecto de Google Cloud con la facturación habilitada. Los usuarios nuevos pueden registrarse para obtener una prueba gratuita.

Habilita la API de Compute Engine

Esta API es necesaria para crear y administrar VMs. Puedes habilitarla en la consola de Google Cloud o con gcloud CLI.

Cree una instancia de VM:

Puedes crear instancias de VM con la consola de Google Cloud o gcloud CLI.

  • Con la consola: Navega a “Compute Engine” en la consola de Google Cloud y haz clic en “Crear instancia”. Luego, puedes configurar el nombre, la región, la zona, el tipo de máquina (por ejemplo, e2-medium), la imagen del disco de arranque (por ejemplo, Debian, Ubuntu, Windows Server) y otros parámetros de configuración de tu VM.
  • Con gcloud CLI: Para los usuarios de la línea de comandos, se usa el comando gcloud compute instances create.

Conéctate a tu máquina virtual

SSH (VMs de Linux): Conéctate de forma segura a tus instancias de Linux con SSH.

  • Usa la consola de Google Cloud: El método más sencillo suele ser usar el botón “SSH” disponible junto a tu instancia en la sección Compute Engine de la consola. Se abrirá una sesión de terminal basada en el navegador.

Usa gcloud CLI: El comando gcloud compute ssh ofrece una forma conveniente de conectarse desde tu terminal local.

  • Administra las claves SSH: De forma predeterminada, cuando usas gcloud compute ssh por primera vez con una VM, gcloud genera un par de claves SSH. Luego, agrega tu clave pública a los metadatos de la VM o del proyecto. El agente invitado de Google que se ejecuta en la VM configura automáticamente sshd para permitir el acceso con esta clave.

Usa el Acceso al SO (recomendado): Para mejorar la seguridad y optimizar la administración de claves SSH, especialmente en varias VMs o equipos, considera habilitar el Acceso al SO. Acceso al SO integra el control de acceso SSH con Google Cloud IAM. Con el Acceso al SO habilitado, las claves SSH se vinculan a tu identidad de Google, y el acceso se administra con permisos de IAM en lugar de distribuir claves a los metadatos de la instancia.

Para habilitar el Acceso al SO, establece la clave de metadatos enable-oslogin en TRUE en tu proyecto o en instancias individuales.

  •  Luego, puedes conectarte con gcloud compute ssh como de costumbre. Obtén más información en la documentación Configura Acceso al SO.

Resuelve tus desafíos más difíciles con Google Cloud

Los clientes nuevos obtienen $300 en créditos gratuitos que pueden usar en Google Cloud.
Habla con un especialista en ventas de Google Cloud para analizar tu desafío único en más detalle.

Da el siguiente paso

Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.

Google Cloud