¿Qué es una máquina virtual? (Por qué y cuándo usarla)

  • Compartir Este
Cathy Daniels

Si trabaja en el sector del software o en sus alrededores, probablemente haya oído hablar de las máquinas virtuales. Si no es así, puede que se pregunte qué son y para qué se utilizan.

Como ingeniero de software, utilizo máquinas virtuales a diario. Son herramientas potentes en el desarrollo de software, pero también tienen otros usos. También conocidas como VM, muchas empresas las utilizan por su flexibilidad, fiabilidad y rentabilidad; también evitan los desastres de las pruebas de software desbocadas.

Veamos qué son las máquinas virtuales y por qué se utilizan.

¿Qué es una máquina virtual?

Una máquina virtual es una instancia de un sistema operativo (SO) como Windows, Mac OS o Linux que se ejecuta dentro del SO principal de un ordenador.

Normalmente, se ejecuta en una ventana de aplicación en su escritorio. Una máquina virtual tiene funcionalidad completa y actúa como un ordenador o máquina independiente. En esencia, una máquina virtual es un ordenador virtual que se ejecuta dentro de otro ordenador conocido como máquina anfitriona.

Imagen 1: Máquina virtual funcionando en un ordenador portátil.

Una máquina virtual no tiene hardware (memoria, disco duro, teclado o monitor), sino que utiliza el hardware simulado de la máquina anfitriona. Por ello, se pueden ejecutar varias máquinas virtuales, también denominadas "huéspedes", en una sola máquina anfitriona.

Imagen 2: Máquina anfitriona que ejecuta varias máquinas virtuales.

El host también puede ejecutar varias máquinas virtuales con diferentes sistemas operativos, como Linux, Mac OS y Windows. Esta capacidad depende de un software llamado hipervisor (véase la imagen 1). El hipervisor se ejecuta en el equipo host y permite crear, configurar, ejecutar y gestionar máquinas virtuales.

El hipervisor asigna el espacio en disco, programa el tiempo de procesamiento y gestiona el uso de la memoria para cada VM. Esto es lo que hacen aplicaciones como Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V y muchas otras: son hipervisores.

Un hipervisor puede ejecutarse en un ordenador portátil, en un PC o en un servidor, y pone las máquinas virtuales a disposición del ordenador local o de los usuarios distribuidos en una red.

Los distintos tipos de máquinas y entornos virtuales requieren diferentes tipos de hipervisores. Veamos algunos de ellos.

Tipos de máquinas virtuales

Máquinas virtuales del sistema

Las máquinas virtuales de sistema, a veces llamadas de virtualización completa, son ejecutadas por un hipervisor y proporcionan la funcionalidad de un sistema informático real. Utilizan el sistema operativo nativo del host para gestionar y compartir los recursos del sistema.

Las máquinas virtuales de sistema suelen requerir un host potente con CPUs rápidas o múltiples, grandes cantidades de memoria y toneladas de espacio en disco. Algunas, que se ejecutan en ordenadores personales o portátiles, pueden no requerir la potencia de cálculo que necesitan los grandes servidores virtuales empresariales; sin embargo, funcionarán con lentitud si el sistema host no es adecuado.

Procesar máquinas virtuales

Las máquinas virtuales de procesos son bastante diferentes de las SVM: es posible que las tenga en funcionamiento en su máquina y ni siquiera lo sepa. También se conocen como máquinas virtuales de aplicaciones o entornos de ejecución gestionados (MRE). Estas máquinas virtuales se ejecutan dentro de un sistema operativo anfitrión y admiten aplicaciones o procesos del sistema.

¿Por qué utilizar un PVM? Realizan servicios sin depender de sistemas operativos o hardware específicos. Tienen su propio pequeño sistema operativo con sólo los recursos que necesitan. El PVM está en un entorno separado; no importa si se ejecuta en Windows, Mac OS, Linux o cualquier otra máquina anfitriona.

Una de las máquinas virtuales de procesos más comunes es una de las que probablemente ha oído hablar y puede haber visto funcionando en su ordenador. Se utiliza para ejecutar aplicaciones Java y se llama máquina virtual Java o JVM para abreviar.

Tipos de hipervisores

La mayoría de las máquinas virtuales que nos ocupan utilizan un hipervisor porque emulan un sistema informático completo. Hay dos tipos diferentes de hipervisores: los hipervisores Bare Metal y los hipervisores Hosted. Vamos a echar un vistazo rápido a ambos.

Hipervisor Bare Metal

Los BMH también pueden denominarse hipervisores nativos, y se ejecutan directamente en el hardware del host en lugar de hacerlo dentro del sistema operativo del mismo. De hecho, ocupan el lugar del sistema operativo del host, programando y gestionando el uso del hardware por parte de cada máquina virtual, eliminando así al "intermediario" (el sistema operativo del host) en el proceso.

Los hipervisores nativos se utilizan normalmente para las máquinas virtuales empresariales a gran escala, que las empresas utilizan para proporcionar a los empleados recursos de servidor. Microsoft Azure o Amazon Web Services son máquinas virtuales alojadas en este tipo de arquitectura. Otros ejemplos son KVM, Microsoft Hyper-V y VMware vSphere.

Hipervisor alojado

Los hipervisores alojados se ejecutan en sistemas operativos estándar, como cualquier otra aplicación que ejecutamos en nuestras máquinas. Utilizan el sistema operativo del anfitrión para gestionar y distribuir los recursos. Este tipo de hipervisor es más adecuado para usuarios individuales que necesitan ejecutar varios sistemas operativos en sus máquinas.

Entre ellas se encuentran aplicaciones como Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop y muchas otras. Puede encontrar información más detallada sobre los hipervisores alojados en nuestro artículo, El mejor software de máquinas virtuales.

¿Por qué utilizar máquinas virtuales?

Ahora que tiene una comprensión básica de lo que es una máquina virtual, probablemente pueda pensar en algunas aplicaciones excelentes. Aquí están algunas de las principales razones por las que la gente utiliza las máquinas virtuales.

1. Rentable

Las máquinas virtuales son rentables en numerosas situaciones. Una de las más destacadas es en el mundo empresarial. Utilizar servidores físicos para proporcionar recursos a los empleados puede ser muy caro. El hardware no es barato, y su mantenimiento es aún más costoso.

El uso de máquinas virtuales como servidores empresariales se ha convertido en la norma. Con las máquinas virtuales de un proveedor como MS Azure, no hay compras iniciales de hardware ni cuotas de mantenimiento. Estas máquinas virtuales pueden ser instaladas, configuradas y utilizadas por sólo unos centavos por hora. También pueden ser apagadas cuando no se utilizan y no incurren en ningún costo.

El uso de una VM en su máquina también puede suponer un gran ahorro de dinero. Si necesita realizar trabajos en varios sistemas operativos o en diferentes configuraciones de hardware, puede

utilizar varias máquinas virtuales en un mismo host, sin necesidad de comprar un ordenador distinto para cada tarea.

2. Escalable y flexible

Tanto si se trata de servidores de empresa como de máquinas virtuales que se ejecutan en su ordenador portátil, las máquinas virtuales son escalables. Es fácil ajustar los recursos para que se adapten a sus necesidades. Si necesita más memoria o espacio en el disco duro, basta con entrar en el hipervisor y reconfigurar la máquina virtual para que tenga más. No es necesario comprar nuevo hardware, y el proceso puede completarse rápidamente.

3. Configuración rápida

Una nueva VM puede configurarse rápidamente. He tenido casos en los que necesitaba configurar una nueva VM, llamé a mi compañero de trabajo que las gestiona y las tenía listas para usar en menos de una hora.

4. Recuperación de desastres

Si está tratando de evitar la pérdida de datos y prepararse para la recuperación de desastres, las máquinas virtuales pueden ser una herramienta excelente. Son fáciles de respaldar y pueden distribuirse en diferentes ubicaciones si es necesario. Si un tercero como Microsoft o Amazon aloja las máquinas virtuales, estarán fuera del sitio, lo que significa que sus datos están a salvo si su oficina se quema.

5. Fácil de reproducir

La mayoría de los hipervisores permiten hacer una copia, o imagen, de una máquina virtual. La creación de imágenes permite crear fácilmente reproducciones exactas de la misma máquina virtual base para cualquier situación.

En el entorno en el que trabajo, damos a cada desarrollador una VM para que la utilice para el desarrollo y las pruebas. Este proceso nos permite tener una imagen configurada con todas las herramientas y el software necesarios. Cuando incorporamos a un nuevo desarrollador, todo lo que tenemos que hacer es hacer una copia de esa imagen, y tienen lo que necesitan para empezar a trabajar.

6. Perfecto para el desarrollo/prueba

Una de las mejores ventajas de utilizar máquinas virtuales es que son una herramienta perfecta para el desarrollo y las pruebas de software. Las máquinas virtuales permiten a los desarrolladores desarrollar en múltiples plataformas y entornos en una sola máquina. Si esa máquina virtual se corrompe o se destruye, se puede crear rápidamente una nueva.

He trabajado en proyectos en los que hemos creado scripts de prueba automatizados que crean una nueva máquina virtual, instalan la última versión del software, ejecutan todas las pruebas necesarias y, a continuación, eliminan la máquina virtual una vez que se han completado las pruebas.

Las máquinas virtuales funcionan estupendamente para las pruebas de productos y las revisiones como las que hacemos aquí en SoftwareHow.com. Puedo instalar aplicaciones en una máquina virtual que se ejecuta en mi máquina y probarlas sin saturar mi entorno principal.

Cuando termino de hacer las pruebas, siempre puedo eliminar la máquina virtual y crear una nueva cuando la necesite. Este proceso también me permite hacer pruebas en varias plataformas aunque sólo tenga una máquina Windows.

Palabras finales

Como puede ver, las máquinas virtuales son una herramienta rentable y versátil que puede utilizarse para muchas aplicaciones. Ya no es necesario comprar, configurar y mantener hardware costoso para proporcionar acceso al servidor a probadores, desarrolladores y otros. Las máquinas virtuales nos dan la flexibilidad de crear fácil y rápidamente los sistemas operativos, el hardware y los entornos que necesitamos, en cualquier momento.

Soy Cathy Daniels, experta en Adobe Illustrator. He estado usando el software desde la versión 2.0 y he estado creando tutoriales para él desde 2003. Mi blog es uno de los destinos más populares en la web para las personas que quieren aprender Illustrator. Además de mi trabajo como blogger, también soy autor y diseñador gráfico.