Máquinas Virtuales: Usos, tipos y ejemplos

Publicado el 28 abril, 2024 por Rodrigo Ricardo

¿Qué es una máquina virtual?

Una máquina virtual (o VM) funciona como una computadora física, por ejemplo, una computadora portátil, un servidor o un teléfono inteligente y puede usarse para acceder a otra computadora. VM es un entorno emulado de un sistema informático físico que ejecuta un sistema operativo y aplicaciones. El hardware de una computadora es físico y tangible, mientras que una VM es una computadora virtual o una computadora definida por software que se implementa a través de software, firmware, hardware o una combinación de ellos. Una VM tiene una CPU, memoria y almacenamiento para archivos, y puede conectarse a Internet cuando sea necesario.

Una organización puede tener varias máquinas virtuales que ejecutan diferentes sistemas operativos (SO) mientras funcionan individualmente, almacenadas en una máquina host monitoreada por un hipervisor. El tipo 1 y el tipo 2 son los dos tipos de hipervisores. Con una VM, Mac se puede ejecutar en un sistema operativo Windows o viceversa; De manera similar, se pueden crear otras combinaciones de sistemas operativos con Solaris, Chrome OS o Linux.

Máquina virtual

Historia

La virtualización de servidores comenzó a principios de los años 1960. IBM trabajó en el sistema mainframe S/360 para reemplazar otros sistemas informáticos que sólo hacían una cosa a la vez. S/360 ejecutó trabajos por lotes. El 1 de julio de 1963, el Instituto Tecnológico de Massachusetts (MIT) anunció el Proyecto MAC, financiado por DARPA para la investigación de Sistemas Operativos, Inteligencia Artificial y Teoría Computacional. El MIT quería desarrollar una nueva tecnología en la que el hardware pudiera manejar más de un usuario simultáneo.

IBM desarrolló CP-40, que luego evolucionó a CP-67 y luego a Unix. La memoria y otros recursos de la computadora se dividieron en la computadora de tiempo compartido; por tanto, cada usuario obtuvo su propia computadora. Muchas empresas y universidades empezaron a utilizar este Sistema Operativo.

En 1990, los ingenieros de Sun Microsystems que estaban frustrados con C/C++ iniciaron un proyecto llamado “Stealth” para simplificar la forma de escribir y ejecutar aplicaciones. En 1996, el lanzamiento del Java Development Kit (JDK) permitió a los programadores escribir y ejecutar una aplicación donde estaba instalado Java Run-time Environment (JRE). Las aplicaciones Java se ejecutaron en máquinas virtuales Java.

En 1997, se creó una PC virtual que podía ejecutar un programa de Windows en una computadora Mac. Apple vendió este programa a través de una empresa llamada Connectix.

VMware Workstation, que era similar a Virtual PC, se lanzó en 1999. Desde entonces, VMware ha sido líder del mercado en virtualización. En 2001, VMware lanzó dos nuevos productos: el servidor ESX y el servidor GSX.

Las infraestructuras de escritorio virtuales (VDI) que son populares hoy en día tienen un sistema operativo de escritorio dentro de una máquina virtual en una infraestructura centralizada. VDI se introdujo en 2007, lo que permite a los usuarios iniciar sesión en varias máquinas virtuales. VMware, Microsoft y Citrix propiciaron una expansión de estos productos en el mercado.

¿Cómo funcionan las máquinas virtuales?

Muchas organizaciones implementan varias máquinas virtuales en lugar de utilizar varias computadoras. Una máquina virtual alojada en un subconjunto más pequeño de servidores potentes es muy útil en las organizaciones por muchas razones y también es rentable en términos de espacio físico, mantenimiento y electricidad.

Por ejemplo, un programador puede intentar desarrollar una aplicación que deba lanzarse a toda la fuerza laboral para su uso. Extrae información de diferentes fuentes y luego, utilizando información específica, los usuarios ejecutan diferentes informes. El programador debe asegurarse de que la aplicación funcione en las computadoras de la organización sin ningún error. Antes de que el programador lance la aplicación a la fuerza laboral, tiene una máquina virtual cargada en el servidor con una copia del sistema operativo que utiliza la organización y su estándar para todas sus computadoras. Luego, el programador inicia la aplicación en el sistema operativo VM para verificar cómo funciona antes de corregir cualquier error presente en la aplicación antes de que se lance por completo a la fuerza laboral.

Se sigue un proceso similar para realizar cualquier actualización del sistema; la aplicación se prueba en el entorno VM antes de lanzarla a la fuerza laboral.

Un usuario puede trabajar en un entorno virtual que funciona como un único archivo de datos. La VM se abre como un proceso en una ventana de aplicación en el sistema operativo de la máquina física donde el usuario puede realizar diferentes tareas. Las máquinas virtuales están conectadas a través del centro de datos del proveedor de la nube y se comportan como computadoras reales en la ventana de la aplicación.

Los hipervisores son software que divide los recursos físicos para crear muchos entornos virtuales.

Un hipervisor, también conocido como monitor de VM, permite que varios sistemas operativos se ejecuten uno al lado del otro en una única máquina host. Una máquina host es un dispositivo informático físico que puede ejecutar varias máquinas virtuales, y las máquinas virtuales de una máquina host se conocen como máquinas invitadas. Una corporación puede tener muchas máquinas host con muchas máquinas invitadas ejecutando un sistema operativo importante.

El primer tipo de hipervisor, el Tipo 1, se ejecuta directamente en el hardware de la computadora host. El otro tipo de hipervisor, el Tipo 2, se ejecuta desde el sistema operativo de la máquina host para proporcionar gestión de virtualización y otros servicios.

Virtualización completa

En la virtualización total, las características más destacadas de un hardware se reflejan en varias máquinas virtuales. Este es un hipervisor de tipo 1, por lo que si el software se puede ejecutar en una máquina básica, también se puede ejecutar en una VM. La virtualización completa ayuda a utilizar una máquina física al 100 % de su capacidad cuando distribuye la capacidad entre varios usuarios. Estos usuarios están completamente aislados unos de otros. Además, se puede emular nuevo hardware para mejorar la seguridad y la productividad, por lo que si un sistema operativo para uso independiente se ejecuta correctamente en una VM, esto funciona como una prueba de virtualización completa.

Virtualización a nivel de sistema operativo

En la virtualización a nivel de sistema operativo, existen múltiples entornos virtuales (VE) en el kernel, que se ejecuta en un único servidor físico. Los VE funcionan como computadoras reales con programas ejecutándose en ellas. El kernel tiene funciones de administración de recursos que aíslan y administran los recursos, limitando así el impacto de un contenedor en los demás. La palabra ” contenedor ” aquí se refiere a los sistemas de virtualización a nivel de sistema operativo. La virtualización a nivel del sistema operativo es beneficiosa con recursos de hardware limitados pero con múltiples usuarios. Múltiples contenedores aislados ayudan a mejorar la seguridad y gestionar los costos generales.

Virtualización a nivel del sistema operativo

¿Para qué se utiliza una máquina virtual?

Las máquinas virtuales se utilizan para diversos fines, entre ellos:

  • Probando nuevos sistemas operativos.
    • Es fácil probar nuevos sistemas operativos instalando una VM (por ejemplo, VirtualBox). Si una persona tiene un sistema operativo Windows, puede crear una nueva máquina virtual e instalar cualquier otro sistema operativo en esa máquina virtual. Por ejemplo, Linux se puede instalar en la VM sin bloquear la computadora con Windows.
  • Operar software obsoleto o incompatible.
    • Las máquinas virtuales se pueden utilizar para ejecutar software que no estaba diseñado originalmente para el sistema. Por ejemplo, si una persona tiene una Mac y necesita ejecutar el software de Windows para completar algún trabajo, puede hacerlo de forma segura utilizando una máquina virtual. El programa se ejecutará de forma segura en un espacio aislado dentro de la VM sin causar ningún daño.
  • Simplificar el flujo de trabajo para crear aplicaciones que se implementarán en la nube.
    • Las máquinas virtuales facilitan el trabajo en la prueba de aplicaciones en varias plataformas. Por ejemplo, a un desarrollador que necesita desarrollar una aplicación de juegos le resultaría más sencillo utilizar una máquina virtual para acceder a otros sistemas operativos en lugar de mover los archivos de un lado a otro en diferentes plataformas, y luego podría implementar las aplicaciones en la nube.
  • Acceder a datos infectados por virus.
    • Los riesgos de seguridad, como el manejo de malware potencial, se pueden gestionar de forma segura con una máquina virtual, ya que una máquina virtual está aislada del sistema principal. El software de un sitio que puede no ser seguro se puede descargar en una máquina virtual sin riesgo de infección del sistema.
  • Ejecutar escenarios de prueba de desarrollo.
    • Los equipos de TI pueden realizar tareas arriesgadas, como ejecutar escenarios de prueba de desarrollo en las máquinas virtuales, ya que la máquina virtual está separada del resto de los sistemas. Los equipos de TI también pueden mejorar la eficiencia del servidor consolidando los recursos informáticos para mejorar la eficiencia.
  • Copia de seguridad del sistema operativo mediante instantáneas.
    • Las máquinas virtuales tienen una función llamada “instantáneas” que puede realizar copias de seguridad de los sistemas durante procedimientos riesgosos. En caso de que algo salga mal, estas instantáneas a nivel del sistema pueden restaurar el sistema como si nada hubiera pasado con un solo clic. Además, es fácil clonar una VM en otra máquina. Todo el contenido se almacena en unos pocos archivos, por lo que se puede tomar una imagen virtual y almacenarla en otra computadora.

Tipos de máquinas virtuales

Las máquinas virtuales se diferencian en varios tipos según su uso.

Máquinas virtuales del sistema

Una máquina virtual del sistema está completamente virtualizada; proporciona una plataforma para la ejecución de un sistema operativo completo. Aquí, se pueden ejecutar varias máquinas virtuales en paralelo en un sistema host, compartiendo los recursos físicos. Algunos ejemplos son VMWare, VirtualBox y Parallels.

Procesar máquinas virtuales

Por otro lado, una máquina virtual de procesos se ejecuta en un entorno de programación independiente de la plataforma y ejecuta un único proceso como una aplicación en una máquina host. Algunos ejemplos son Java VM, Linux Process y.NET VM.

Ejemplos de máquinas virtuales

Hay muchos tipos de aplicaciones de máquinas virtuales disponibles en Internet que pueden ser comerciales o gratuitas. Estos pueden ayudar a sustituir una máquina real. Algunos de los software de VM más populares disponibles incluyen:

  • VirtualBox: VirtualBox, fabricado por Oracle, se puede utilizar en Mac, Windows, sistema operativo Linux, BSD y otros. Es un hipervisor de código abierto para computadoras x86 y tiene muchas ventajas, incluida su aplicación fácil de usar y su capacidad para compartir con la máquina host. Está disponible de forma gratuita y también ofrece tutoriales en el sitio web de Oracle.
  • VM Ware: esta aplicación de máquina virtual de Dell Technologies puede ejecutarse en Linux, Microsoft Windows, Chrome OS, Solaris y Mac OS X. Las versiones de VMware son VMware Monitor, VMware Fusion y VMware Workstation Player.
    • VMware Monitor es fácil de usar y ayuda a monitorear máquinas virtuales, servidores y hosts en el entorno VM Ware. Un usuario puede verificar continuamente el uso de la memoria, la CPU, la cantidad de máquinas virtuales en ejecución y el uso del disco en tiempo real para detectar posibles problemas. VMware Monitor también proporciona notificaciones sobre cualquier problema relacionado con el rendimiento.
    • VMware Fusion se ejecuta en computadoras Mac y es el mejor hipervisor de escritorio. La fusión permite a los usuarios ejecutar máquinas virtuales no sólo con el sistema operativo de Apple sino también con Windows, Linux, Netware Solaris, etc. Los usuarios pueden conectarse con la plataforma basada en la nube vSphere para la virtualización. Una nueva característica, el modo Unity View, ayuda a utilizar varios sistemas operativos en paralelo.
    • VMware Workstation Player _ se utiliza mejor en entornos empresariales para desarrolladores y profesionales de TI. Es fácil compartir archivos y datos y también conectarse a la plataforma basada en la nube de vSphere-VMware. La aplicación de la estación de trabajo también puede clonar máquinas y transformar datos hacia y desde la máquina virtual a la PC. Se puede comprar una licencia paga para ejecutarla en un entorno comercial.
  • Microsoft Hyper-V: Hyper-V es una tecnología de virtualización basada en hipervisor que se ejecuta en múltiples sistemas operativos como una máquina virtual en Windows en su propio espacio aislado. La aplicación virtual de Windows es de uso gratuito en los sistemas operativos Windows 10. Puede utilizarse con fines profesionales, académicos y empresariales y ofrece un rendimiento sólido. Esta aplicación puede funcionar en Windows, Linux y sistemas antiguos como MS-DOS. Esta aplicación crea discos duros virtuales, conmutadores virtuales y varios otros dispositivos virtuales, todos los cuales se pueden agregar a máquinas virtuales que brindan más flexibilidad y ayudan a ejecutar el hardware de manera eficiente. Anteriormente, Virtual PC, que también es una aplicación de uso gratuito en el sistema operativo Windows, se utilizaba para ejecutar versiones anteriores del sistema operativo Windows para realizar pruebas de compatibilidad con versiones anteriores, pero tenía sus limitaciones.
  • Parallels: esta es otra aplicación de VM creada por la empresa Parallels. Esta aplicación puede ejecutarse en los sistemas operativos Windows, Mac y Linux, aunque se usa ampliamente en Mac. La aplicación es fácil de configurar y funciona a altas velocidades. Se pueden ejecutar más de 200.000 aplicaciones de Windows en Mac utilizando Parallels. Esta aplicación ofrece enlaces directos al hardware de la máquina host y también permite el acceso instantáneo para iniciar y acceder a Windows. También puede compartir los recursos de la máquina host con máquinas virtuales, como compartir portapapeles, compartir carpetas, impresora y otros soportes de entrada/salida (E/S).
  • Virtualización de Red Hat: la virtualización de Red Hat es fácil de configurar y operar. La virtualización de Red Hat funciona en un sistema de código abierto e implementa una nube híbrida que ayuda a ofrecer un alto nivel de rendimiento para las cargas de trabajo virtuales. La aplicación funciona en plataformas Linux y Windows.

Resumen de la lección

Una máquina virtual (VM) es un entorno emulado de un sistema informático físico que ejecuta un sistema operativo y aplicaciones. Una VM se implementa mediante software, firmware, hardware o una combinación. Hay dos tipos de VM: máquinas virtuales de sistema y máquinas virtuales de proceso. También hay dos tipos de hipervisores, que permiten que varios sistemas operativos se ejecuten uno al lado del otro en una única máquina host. Los hipervisores tipo 1 se ejecutan directamente desde el hardware de la computadora host. Las máquinas virtuales como esta, que se ejecutan desde la computadora host, se conocen como máquinas invitadas. El otro tipo de hipervisor, el Tipo 2, se ejecuta desde el sistema operativo de la máquina host.

Las máquinas virtuales tienen muchos usos, como explorar nuevos sistemas operativos, operar software obsoleto o incompatible, acceder a datos infectados por virus, realizar copias de seguridad del sistema operativo, etc. Las aplicaciones de máquinas virtuales, como VirtualBox, VMware, Virtual PC, etc., ayudan a realizar estas tareas fácilmente. Windows Virtual PC es una aplicación de VM estrictamente para el sistema operativo Windows. Muchos proveedores de software ofrecen ahora herramientas de gestión del ciclo de vida de las VM (o VMLM) para ayudar a simplificar el proceso para que los administradores gestionen grandes implementaciones de VM. Las herramientas VMLM incluyen monitoreo de estado y activos, administración de clientes, administración de seguridad y antivirus, administración de escritorios virtuales y optimización de la utilización del almacenamiento.

Articulos relacionados