Qué es una máquina virtual

A virtual machine (VM) is an emulated or digital version of a physical computer. Virtual machines can be used to run different operating systems and applications, store data, connect to networks, as well as perform other tasks like a physical device. Virtual machines run on a physical device called a host or parent server. And a virtual machine is called a guest or child.

En este artículo, explicaré cómo funcionan las máquinas virtuales y cómo se diferencian de los contenedores. También detallaré algunos de los casos de uso más importantes para las máquinas virtuales, incluyendo el desarrollo de software multiplataforma y la investigación de malware.

Publicidad

¿Cómo funciona una máquina virtual?

Essentially, la tecnología de virtualización permite a los usuarios crear y ejecutar múltiples máquinas virtuales simultáneamente en un único host. Por ejemplo, un host con Windows es capaz de ejecutar diferentes máquinas virtuales con Windows, CentOS, Ubuntu y otras distribuciones de Linux.

A virtual server uses hypervisor software to interact with the underlying physical hardware. It makes it possible to keep VMs separate and evenly allocate host resources (CPUs, storage, and memory) to each VM guest as needed. The hypervisor can also schedule operations to prevent deadlocks.

Source: Microsoft

Los dos tipos de hipervisores

Existen dos tipos principales de hipervisores que se utilizan en la virtualización.

Tipo 1 Hipervisores (Máquinas Virtuales de Proceso)

En primer lugar, un hipervisor de tipo 1, también llamado un hipervisor bare-metal, se ejecuta nativamente en la computadora física. Normalmente, se requiere una herramienta de gestión separada para crear/administrar máquinas virtuales y administrar permisos en el hipervisor. Microsoft Hyper-V y Citrix Hypervisor son ejemplos de hipervisores de tipo 1.

Publicidad

Hipervisores de Tipo 2 (Sistema VM)

A type 2 hypervisor, also known as a hosted hypervisor, can run as an application on the host OS. It allows users to manually create a virtual machine instance and install a guest operating system.

El hipervisor de tipo 2 es comparativamente más lento porque cada solicitud de máquina virtual debe ser dirigida al sistema operativo anfitrión. Es adecuado para individuos, desarrolladores y pequeñas empresas que no pueden permitirse comprar servidores dedicados. Algunos ejemplos comunes de hipervisores de tipo 2 incluyen Oracle VirtualBox y VMware Workstation.

¿Qué es la virtualización?

La virtualización es una tecnología que implica la creación de una capa de abstracción sobre una máquina física. Ayuda a dividir los recursos de hardware (CPU, RAM y almacenamiento) de una sola computadora en diferentes computadoras virtuales llamadas máquinas virtuales.

Cada máquina virtual actúa como una máquina independiente con su propio sistema operativo. Es una solución rentable para organizaciones que desean ejecutar varios sistemas operativos y aplicaciones en un solo servidor físico.

Publicidad

Los cinco tipos de virtualización

Existen cinco tipos comunes de virtualización: virtualización de hardware, software, almacenamiento, red y de escritorio.

1. Virtualización de hardware

La virtualización de hardware, también conocida como virtualización de servidor, es una técnica que permite a los usuarios crear versiones virtuales de computadoras y sistemas operativos. Esto hace posible ejecutar simultáneamente varios sistemas operativos en la misma máquina física. La virtualización de hardware también optimiza la utilización de los recursos de hardware.

2. Virtualización de software

La virtualización de software es un método que permite que una máquina host física ejecute múltiples ordenadores virtuales. Utiliza software de hipervisor para distribuir los recursos de hardware (como almacenamiento, procesadores y memoria) entre diferentes máquinas virtuales (VM). Por ejemplo, una distribución de Linux puede ejecutarse en una máquina virtual en un ordenador que tiene un sistema operativo Windows.

3. Virtualización de almacenamiento

La virtualización de almacenamiento consolida el almacenamiento físico de múltiples dispositivos de almacenamiento en red para que aparezca como un único disco virtual. Ofrece diversos beneficios, incluyendo la reducción de costos, equilibrio de carga, planificación de recuperación ante desastres y mejora de rendimiento y velocidad.

4. Virtualización de redes

La virtualización de redes es un proceso que se usa para agrupar redes físicas en una sola red virtual basada en software. Ayuda a distribuir el ancho de banda disponible en varios canales y asignarlos a dispositivos y servidores. Ofrece beneficios como una mejora en la seguridad, confiabilidad y velocidad de red.

5. Virtualización de escritorio

La virtualización de escritorio permite a los usuarios simular una carga de trabajo de estación de trabajo para que pueda ser accedida desde cualquier lugar y en cualquier dispositivo. Sus principales beneficios incluyen ahorro de costos, optimización de recursos, mejor seguridad de datos y gestión más sencilla.

¿Cuáles son los principales beneficios de usar máquinas virtuales?

Las máquinas virtuales proporcionan diversos beneficios tanto a los usuarios finales como a los administradores de TI. Aquí hay una lista de algunas de las características que hacen que las máquinas virtuales sean muy atractivas en entornos empresariales:

1. Computación en la nube

La tecnología de virtualización proporciona la arquitectura básica para la computación en la nube. Permite a las empresas implementar y migrar máquinas virtuales nativas de la nube a entornos de servidores locales y aprovechar nubes híbridas.

También es posible para las organizaciones asignar y cambiar los recursos en la nube en tiempo real para satisfacer sus requisitos de uso dinámico. Los servicios de VM basados en la nube son populares para ejecutar aplicaciones SaaS, hacer copias de seguridad de datos y alojar servicios de gestión de correo electrónico y acceso.

2. Eficiencia de costos

Las máquinas virtuales permiten a las organizaciones crear y ejecutar múltiples instancias de máquinas virtuales en un solo servidor. Dado que los costos de hardware de TI pueden ser un verdadero desafío para las empresas, las VM pueden ayudar a aumentar la eficiencia de costos utilizando recursos mínimos de hardware físico. Por ejemplo, los administradores de TI pueden utilizar una sola máquina servidor para implementar diferentes aplicaciones en un entorno empresarial.

3. Seguridad

Los usuarios pueden crear entornos virtuales para aumentar la seguridad y prevenir que el malware afecte al hardware subyacente y al sistema operativo. Es posible que los usuarios reviertan rápidamente y fácilmente una máquina virtual comprometida a versiones anteriores en caso de un ciberataque.

Mientras tanto, los desarrolladores pueden utilizar máquinas virtuales para probar actualizaciones de software y aplicaciones antes de lanzarlas a los usuarios de producción. Las máquinas virtuales también son útiles para que los investigadores prueben software malicioso.

4. Escalabilidad y portabilidad

La virtualización permite a los clientes implementar rápidamente diferentes tipos de máquinas virtuales con los sistemas operativos de su elección y un conjunto específico de recursos. Las máquinas virtuales también pueden ayudar a las organizaciones a responder mejor a las variaciones en las cargas de trabajo. También pueden ahorrar el tiempo y esfuerzo adicionales necesarios para instalar diferentes sistemas operativos en servidores físicos.

5. Migración de cargas de trabajo

Las máquinas virtuales se conocen como “paquetes autocontenidos” que están desacoplados del ordenador físico. Esto facilita que los equipos de TI migren a hardware más rápido, muevan una máquina virtual de un servidor a otro, así como se recuperen de fallos.

6. Recuperación ante desastres

Las organizaciones pueden utilizar máquinas virtuales para hacer copias de seguridad de sus sistemas en entornos en la nube. Esta capacidad proporciona una capa adicional de seguridad y minimiza el riesgo de pérdida de datos en escenarios como fallos de hardware.

7. Soporte de DevOps

Las máquinas virtuales ofrecen la máxima flexibilidad para respaldar a los desarrolladores empresariales. Pueden crear entornos aislados con funcionalidad completa para el proceso de desarrollo y pruebas de software. Las máquinas virtuales también permiten a los desarrolladores ejecutar y probar software incompatible en diferentes sistemas operativos.

Máquinas Virtuales vs. Contenedores

Al igual que las máquinas virtuales, los contenedores permiten ejecutar aplicaciones que están aisladas del host subyacente. Sin embargo, echemos un vistazo más de cerca a las principales diferencias entre máquinas virtuales y contenedores:

Virtual Machines Containers
Hardware-level process isolation Operating system-level process isolation
A virtual machine offers complete isolation of apps from the host OS Containers can share some resources with the host OS
VMs use a few GBs of system memory Containers require less memory space (KBs or MBs)
Each VM has a dedicated OS Containers can share OS resources
VM is more secure Containers are less secure
Boots in minutes Boots in seconds
VMs consume more system resources Containers consume fewer resources
VMs can move between hardware Containers are destroyed and recreated
VM creation takes a considerable amount of time Users can create containers within a few seconds
Users can run any OS inside the VM Users can only run containers on the same OS version as the host
Some popular use cases of VMs are running multiple applications, monolithic applications, and legacy apps on older OS. Containers are best for running web apps, DevOps testing, and microservices.

Los principales casos de uso para las máquinas virtuales

Las máquinas virtuales tienen varios casos de uso tanto para los usuarios finales como para los administradores de TI. Aquí hay algunos ejemplos:

1. Probar nuevos sistemas operativos

Las máquinas virtuales permiten a los usuarios ejecutar diferentes sistemas operativos en un único host físico. Esto significa que los usuarios pueden probar nuevas funciones sin afectar a su sistema operativo principal.

Si eres un Windows Insider, es posible que sientas la tentación de usar máquinas virtuales para probar las versiones preliminares de Windows 11 que provienen del canal Dev. Estas versiones pueden ser bastante inestables, aunque es posible recrear la máquina virtual y reinstalar el sistema operativo si tu MV no arranca por alguna razón.

2. Ejecutar software heredado o incompatible

Otro caso de uso común de las máquinas virtuales es la capacidad de utilizar aplicaciones de software heredadas en entornos empresariales. Las MV permiten a los usuarios ejecutar software que no es compatible con su sistema operativo existente.

3. Investigación de malware

Los investigadores de malware a menudo necesitan nuevas máquinas para probar programas o aplicaciones maliciosos. Aquí es donde entran en juego las máquinas virtuales. Pueden probar el software en una MV en lugar de correr el riesgo de infección en el host físico.

4. Desarrollo de software multiplataforma

La tecnología de virtualización permite a los desarrolladores de software y probadores probar sus aplicaciones en múltiples plataformas. Por ejemplo, un equipo de desarrolladores puede utilizar varias máquinas virtuales para probar diferentes versiones de una aplicación en un entorno emulado.

5. Sesiones de formación

Es importante que las computadoras de las salas de entrenamiento puedan ejecutar diversas instancias de sistemas operativos. Las máquinas virtuales permiten a los instructores llevar a cabo sesiones de entrenamiento que replican diferentes escenarios y entornos empresariales.

6. Navegación segura

Por último, las máquinas virtuales pueden ayudar a garantizar una experiencia de navegación segura para los usuarios. Es posible tomar una instantánea de una MV en su estado actual y luego retroceder en caso de infección por malware. Los usuarios pueden configurar un hipervisor de Tipo 2 o solicitar a un administrador de TI que les conceda acceso temporal a un escritorio virtual alojado en un servidor.

Conclusión

En resumen, las máquinas virtuales son una solución rentable que permite a los equipos de TI distribuir de manera eficiente los recursos del sistema y administrar grandes grupos de computadoras. Sin embargo, las MV tienen diversos pros y contras, y las organizaciones suelen utilizar un enfoque híbrido (tanto máquinas físicas como virtuales) según sus necesidades comerciales.

Source:
https://petri.com/what-is-a-virtual-machine/