¡Damas y caballeros, bienvenidos! Después de casi 5 años de existencia de este blog, era hora de abordar algunos conceptos básicos sobre virtualización de sistemas informáticos cubriendo: tipos, diferencias, recomendaciones de productos, etc.

También añadiré un poco de reflexión de como personalmente veo la tecnología de la virtualización en 2024 desde mi punto de vista, basándome en mis más de 20 años de experiencia como informático comparándolo con respecto a: la inteligencia artificial, la computación en la nube (Cloud) y sobre todo lo que creo que está por venir.
¿Qué es la virtualizacion?
La virtualización de sistemas informáticos es la creación de una versión virtual de algo, como un sistema operativo, un servidor, un dispositivo de almacenamiento, una red, etc. Su objetivo es aprovechar al máximo los recursos de hardware informático al crear múltiples entornos virtuales a partir de un solo hardware físico.

La virtualización es una tecnología poderosa que permite crear múltiples entornos informáticos independientes principalmente a partir de un solo hardware físico. Ofrece numerosas ventajas como la eficiencia de recursos, la flexibilidad, la escalabilidad, la seguridad y la recuperación ante desastres, lo que la convierte en una herramienta esencial para las empresas modernas.

El concepto de virtualización tiene sus raíces en la década de 1960, cuando IBM desarrolló el primer hipervisor para permitir la ejecución de múltiples sistemas operativos en una sola máquina física. Desde entonces, la virtualización ha evolucionado significativamente con tecnologías como VMware, Microsoft Hyper-V, KVM, entre otros.

La virtualización ha revolucionado la forma en que operan los centros de datos y ha brindado beneficios significativos en términos de eficiencia, flexibilidad y ahorro de costos.
Beneficios de la virtualización:
La virtualización permite utilizar mejor el hardware físico, reduciendo costos y consumo de energía. También facilita la creación, implementación y administración de entornos informáticos rápidamente.

Esta gran tecnología ofrece de una manera más fácil y centralizada el aumento de la seguridad y la confiabilidad, ya que en escenario de desastre, permite de manera aún más rápida crear y restaurar copias de seguridad de las máquinas virtuales en caso de fallos a diferencia de un entorno físico.

La virtualización permite también la creación y gestión automatizada de versiones virtuales de recursos como sistemas operativos, servidores, almacenamiento y redes y aplicaciones sin intervención humana incluso adaptandose en momentos de alta o baja demanda.
2. Los tipos de virtualizacion:
La virtualización de tipo 1
Conocida como (Hipervisor bare-metal o nativo), esta se instala directamente en el hardware físico, interactuando directamente con el metal (hardware), sin necesidad de un sistema operativo adicional. Ejemplos: VMware ESXi, Microsoft Hyper-V Server, KVM (Kernel-based Virtual Machine).

Sus grandes ventajas son el máximo rendimiento y control, el acceso directo al hardware, ya que es ideal para entornos que demandan alto rendimiento y control preciso. Y por último y no menos importante, el menor consumo de recursos del sistema, ya que no hay un sistema operativo adicional en ejecución.
Sin embargo la virtualización de tipo 1 tiene una complejidad añadida y es que requiere más conocimientos técnicos para su instalación y gestión.
La virtualización de tipo 2:
Se ejecuta dentro de un sistema operativo existente, creando máquinas virtuales aisladas. Este tipo es claramente en los que hemos aplicado en los artículos de la Raspberry Pi dentro de un PC o Synology en Windows usando VMware Workstation.

La virtualización de tipo 2 no requiere cambios en la configuración del hardware y es el ideal para usuarios principiantes o con recursos limitados y que quieran iniciarse en este mundo.

Sin embargo, la virtualización de tipo 2 consume más recursos del hardware físico y del sistema debido a la ejecución del segundo o más sistemas operativos huésped.
¿Y existen más tipos de virtualización?
Sí! además de los hipervisores de tipo 1 y 2, existen otras categorías de virtualización que se enfocan en recursos específicos:

Virtualización de gráficas
Permite crear múltiples máquinas virtuales independientes, cada una con su propio entorno gráfico, similar a tener diferentes escritorios dentro de una misma computadora, lo que permite virtualizar el rendimiento de una o varias tarjetas gráficas. Esto se logra mediante soluciones como NVIDIA GRID, integradas con las diversas opciones como VMware vSphere.

Este tipo de virtualización se utiliza comúnmente en estudios de arquitectura y diseño gráfico. En lugar de que cada empleado tenga un equipo potente para sus tareas, esta tecnología permite asignar equipos más pequeños y menos potentes, concentrando toda la potencia en uno o varios servidores con múltiples tarjetas gráficas.
Virtualizacion de aplicaciones
La virtualización de aplicaciones permite ejecutar aplicaciones desde servidores centrales, brindando acceso desde cualquier dispositivo y simplificando la gestión. Es como tener aplicaciones complejas y pesadas en nuestro equipo, pero en realidad se ejecutan en un servidor remoto más potente. Generalmente, estas aplicaciones se entregan a través de una página web o una interfaz pequeña instalada en la máquina del usuario, pero en realidad no están instaladas localmente, sino en un servidor remoto.

He trabajado con soluciones como XenApp de Citrix o VMware Horizon, que permiten ejecutar aplicaciones en servidores centrales y entregarlas a los usuarios en cualquier dispositivo (computadoras, laptops, tablets, smartphones), como si estuvieran instaladas localmente.
Virtualización anidada
También conocida como Nested virtualization, es un concepto en el cual se ejecuta un hipervisor dentro de una máquina virtual. Esto permite que esa máquina actúe como un hipervisor y ejecute otras máquinas virtuales dentro de ella misma.

Este enfoque se utiliza comúnmente en entornos de desarrollo y pruebas, así como en entornos de laboratorio para probar configuraciones complejas de virtualización. Es como tener Proxmox, ESXi o Hyper-V dentro de un VMware Workstation, es decir, un equipo virtualizado dentro de una máquina física para luego volver a virtualizar. ¿Complejo y confuso, verdad? Pues no lo es tanto… ¡jejeje!
Virtualización de almacenamiento
Agrupa múltiples dispositivos de almacenamiento físicos en un único pool de almacenamiento virtual. Por ejemplo, es como si combináramos varias cajas de almacenamiento en una sola para mayor eficiencia y gestión simplificada.

Durante mis inicios en la virtualización de sistemas, tuve la oportunidad de trabajar con vSAN. Sin embargo, existen otras soluciones similares, como Nutanix Acropolis y Microsoft Storage Spaces Direct (S2D).
Virtualización de redes
Crea redes virtuales aisladas dentro de una red física. Una solución muy conocida es VMware NSX.

Funciona de manera similar a dividir un gran edificio en varios apartamentos independientes, donde cada apartamento tiene su propia cerradura y llave, lo que garantiza la privacidad y seguridad de los residentes
¿Se podria considerar Docker una virtualizacion?
¡No! Docker no se considera una tecnología de virtualización, sino que utiliza un enfoque de contenerización. A diferencia de la virtualización tradicional, donde se ejecutan varias máquinas completas con sus propios sistemas operativos en un solo servidor, Docker crea contenedores que encapsulan aplicaciones y sus dependencias en entornos aislados. Esto hace que los contenedores sean más ligeros y rápidos de ejecutar en comparación con las máquinas virtuales.

La portabilidad es una de las principales ventajas de Docker; puedes crear un programa en un equipo y luego ejecutarlo en otro equipo donde Docker esté instalado, funcionando de la misma manera que si estuviera instalado localmente. Es similar a llevar un portátil o un teléfono móvil a otro lugar y tener todo listo para usar cuando se abre.
¿Cual es la diferencia entre virtualizacion y la emulación?
Como ya sabemos, la virtualizacion ejecuta uno o varios sistemas operativos o aplicaciones en cualquier hardware determinado, creando una capa intermedia que abstrae el hardware real, permitiendo que el software o sistema operativo se ejecute como si estuviera en su propio hardware dedicado. Esto es lo que hacen las soluciones como VMware ESXi, XenServer, Hyper-V, Proxmox, etc.

Mientas que la emulación, hace creer al software que se está ejecutando en el hardware único para el cual fue creado. La emulación replica el comportamiento del hardware original con tanta precisión que el software no puede distinguir la diferencia. Gracias a la emulación es que logramos disfrutar de la nostalgia de videojuegos de consolas antiguas a través de una Raspberry Pi usando los famosos Retropie, Recalbox y muchos otros emuladores.

Recientemente ha habido controversias sobre la emulación de videojuegos antiguos en dispositivos móviles, como tabletas o teléfonos, generando incertidumbre desde el punto de vista legal. La diferencia radica en hacer creer al videojuego que se está ejecutando en el hardware original para el que fue desarrollado, como una Nintendo 64 (esto se podría considerar ilegal), versus hacerle creer que se está ejecutando en un hardware diferente al original, similar a la virtualización (esto sí podría considerarse legal).

Si bien ambos similares podrían generar controversias, lo que sí es ilegal es la obtención de la ROM (el videojuego en sí), pero ahí el desarrollador no está implicado y eso queda completamente del lado del usuario, ya que el primero solo entrega el software que ejecutará el programa en cuestión.
Virtualizadores recomendados
Virtualizadores de Tipo 1:
Proxmox VE
Es una solución de código abierto gratuita y estable, ideal para entornos domésticos, de pruebas o pequeñas empresas. Actualmente está ganando más popularidad debido al reciente anuncio de Broadcom sobre su nuevo modelo de suscripción, que busca rentabilizar la adquisición de VMware por parte de Dell.

Si bien he trabajado muy poco con este en entornos profesionales inicialmente puedo decir que es fácil de usar, tiene un bajo consumo de recursos, lanza actualizaciones frecuentemente y posee una comunidad activa. Sin embargo, su curva de aprendizaje es un poco más pronunciada a diferencia del siguiente de la lista. Pero la gran ventaja es que es ¡GRATIS!
VMware ESXi:
Pese a lo comentado anteiormente sigue siendo el hipervisor líder de la industria. Claramente es con el que he trabajado durante gran parte de mi carrera profesional e incluso estoy certificado desde hace unos años en la version 6.5 y el motivo por el cual es el que mas he hablado en este blog.

Es un gran hipervisor, de muy alto rendimiento, escalabilidad, confiabilidad y posee una amplia gama de funciones de administración. Sin embargo, su licencia es de pago.
Virtualizadores de tipo 2:
VMware Workstation:
Permite crear y ejecutar máquinas virtuales en Windows o macOS (y creo que en Linux tambien, pero no lo he probado). Es una buena opción para usuarios domésticos y/o recursos limitados para los que quieran iniciarse en este mundo.

Sin embargo, tiene funciones limitadas en comparación con la versión Pro de pago y no está diseñado para entornos de producción y/o empresariales.
Parallels Desktop:
Permite ejecutar aplicaciones de Windows en computadoras macOS. Ideal para usuarios de Mac que necesitan usar software de Windows. Destaca por su facilidad de uso, su integración fluida con macOS durante más de una década y rendimiento optimizado para aplicaciones de Windows.

Su desventaja es que la licencia es de un costo de modelo de suscripción (y en mi opinion algo elevado), y no es compatible con una amplia gama de sistemas operativos invitados a diferencia de VMware Workstation.
UTM
Si bien personalmente este hipervisor es para macOS, no lo he probado. Sin embargo, algunos conocidos coinciden en su positiva recomendación. Anecdóticamente fue famosa ya que a través de ella se logró instalar windows XP en un iPhone.

Comentar que es mejor descargarlo de su web para que sea gratuito. Otra gran ventaja es que la disponibilidad de su código a través de Github.
Curiosidades finales
- La virtualización generalmente tiene un mejor rendimiento que la emulación, ya que no requiere replicar el hardware original con tanta precisión. Y por otro lado la emulación puede ser más compleja de configurar y mantener, ya que requiere una comprensión profunda del hardware original.
- La versión de VMware Workstation en macOS es llamada VMware Fusion.
- La virtualización menos recomendada de todas debido su alto consumo de recursos físicos es la de tipo anidada.
Las soluciones en la nube han planteado interrogantes sobre la necesidad de invertir en hardware propio, aunque la comparación de costos a largo plazo aún es ambigua. Es fundamental evaluar tanto la nube como el hardware local, considerando también entornos híbridos que combinan ambos, como Amazon Web Services, Azure, Google Cloud, etc.
Personalmente, creo en la complementariedad de ambas. La virtualización, como base de la nube, ofrece autogestión y automatización, siendo una excelente introducción a la informática para principiantes. La integración con la inteligencia artificial promete avanzar aún más esta tecnología, manteniendo su relevancia en la optimización de recursos y la gestión de infraestructuras de TI en el futuro.
El futuro de la virtualización promete seguir siendo relevante en el contexto de la computación en la nube y la inteligencia artificial. A medida que estas tecnologías evolucionan, la virtualización continuará desempeñando un papel crucial en la optimización de recursos, la flexibilidad y la gestión eficiente de infraestructuras de TI. Se espera una mayor integración de la virtualización con la inteligencia artificial, lo que permitirá abordar problemas de manera más rápida y eficaz, así como desarrollar soluciones más avanzadas y adaptativas.
«»
Deja una respuesta