La virtualización es una tecnología que permite la creación de entornos virtuales o simulados dentro de un sistema informático físico. Este concepto se utiliza para optimizar recursos, mejorar la eficiencia y facilitar la administración de sistemas. El objetivo de la virtualización es la creación de máquinas virtuales (VM, por sus siglas en inglés).
Las máquinas virtuales son instancias virtuales de sistemas operativos que se ejecutan sobre un equipo host o anfitrion. Un hipervisor, conocido también como monitor de máquinas virtuales, es un proceso que crea y ejecuta máquinas virtuales. Un hipervisor permite que un ordenador host preste soporte a varias máquinas virtuales invitadas mediante el uso compartido virtual de sus recursos, como la memoria y el procesamiento.
En general, hay dos tipos de hipervisores.
Mientras que podemos referirnos a las máquinas virtuales como huéspedes o sistemas invitados (guest).
El software de virtualización emula por completo el juego de instrucciones de un hardware que suele ser distinto del anfitrión.
El emulador recibe las instrucciones máquina de la arquitectura emulada y las traduce a las de la arquitectura del anfitrión para ejecutarlas . Una vez obtenida la respuesta, la traduce para el software invitado. Suele emularse, incluso, el funcionamiento del hardware específico de la arquitectura.
La consecuencia de todo este proceso es una pérdida de rendimiento muy considerable, por lo que no suele utilizarse en entornos de producción. Sin embargo, sí que resultan muy útiles en entornos de desarrollo para plataformas diferentes de la que estemos usando. Un ejemplo de esto es cuando se escriben programas para dispositivos móviles en ordenadores de escritorio.
Algunos emuladores de Android para Windows son: Android Studio, BlueStacks, LDPlayer, Genymotion, etc.
También podemos encontrar emuladores de iPhone para Windows o Mac, como Xcode, Xamarin, Appetize.io (basado en la web), etc.
Incluso podemos usar emuladores para volver a disfrutar de juegos para antiguas plataformas. Por ejemplo, para emular una GameBoy podemos usar BGB, GB Enhanced+ o RetroArch en Windows, o Mednafen en GNU/Linux, etc.
La virtualización a nivel de sistema operativo, también llamada virtualización basada en contenedores, es un método de virtualización en el que, sobre el núcleo del sistema operativo, se ejecuta una capa de virtualización que permite que existan múltiples instancias aisladas de espacios de usuario, en lugar de solo uno.
Se trata de ofrecer capacidad de cálculo, bases de datos y otros tipos de almacenamiento, aplicaciones y otros recursos, a través de Internet, a cambio de un determinado coste. En el contexto de las máquinas virtuales, esto significa que un proveedor de cloud computing puede ofrecernos sus propios recursos hardware para almacenar nuestras propias máquinas virtuales y acceder a ellas desde cualquier parte del planeta.
Esto permite olvidarnos de los requisitos que tienen los servidores de virtualización locales, como el mantenimiento, la reparación de averías, refrigeración, gastos de electricidad, seguridad física, etc.
Además dispondremos de flexibilidad a la hora de decidir el equipamiento. Es decir, contratamos la potencia a medida que la necesitamos, pudiendo aumentarla y disminuirla según los requerimientos.
Incluso podemos implementar modelos híbridos, donde una parte de la infraestructura de la empresa se encuentre virtualizada en la nube y otra, normalmente la más crítica, se implemente de forma local, para evitar eventuales problemas de falta de conexión.
Ventajas:
Inconvenientes:
## Herramientas de virtualización
### Oracle VM VirtualBox
Software de virtualización multiplataforma de código abierto que permite ejecutar múltiples sistemas operativos en un solo dispositivo.
VMware Workstation Player es una herramienta para ejecutar máquinas virtuales en un equipo con Windows o Linux. Las organizaciones utilizan Workstation Player para ofrecer escritorios corporativos gestionados, mientras que los estudiantes y profesores lo utilizan para aprendizaje y formación. La versión gratuita está disponible para uso personal y doméstico, y que no sea comercial.
VMware Workstation Pro es una línea de productos de Hipervisor de escritorio que permiten a los usuarios ejecutar máquinas virtuales, contenedores y clústeres de Kubernetes.
Comparación VMware Workstation Player VS VMware Workstation Pro