Por Jordan ASSOULINE, experto en DevOps y evangelista técnico de SQUAD
Definiciones
Según la definición «oficial» (https://fr.wikipedia.org/wiki/Virtualisation), la virtualización consisteen «ejecutar en una máquina host, en un entorno aislado, sistemas operativos —en cuyo caso se habla de virtualización de sistemas— o aplicaciones —en cuyo caso se habla de virtualización de aplicaciones—».
Se trata, por tanto, de un mecanismo informático que consiste en hacer funcionar varios sistemas, servidores o aplicaciones en un mismo servidor físico. En resumen, es el mecanismo destinado a compartir los recursos técnicos de un servidor físico.

Para comprender mejor la virtualización, conviene también redefinir (si es necesario) qué es un sistema operativo. Un sistema operativo, o «SO», es un programa que controla los dispositivos de hardware y recibe instrucciones del propio usuario… o de otros programas y aplicaciones. El SO es la interfaz entre el hardware (tarjeta de red, sistema de almacenamiento, tarjeta de sonido, puertos USB, etc.) y el usuario. Para facilitar esta interfaz, lo más habitual es que las aplicaciones actúen como intermediarias entre el usuario y el sistema operativo.
¿Cómo surgió la virtualización de servidores?
... Porque «¡sí!», cuando se dice «virt», se refiere precisamente a la «virtualización» y, en esencia, se trata de la «virtualización de servidores».
Retrocedamos un poco en el tiempo. En los años 70, cada servicio se alojaba en un servidor diferente. De este modo, solo utilizaba una parte (poco rentable) del procesador o de la memoria RAM del equipo del que dependía.

La idea fundamental de la virtualización consiste en distribuir el uso de la CPU y la RAM de una máquina física entre varios servicios aislados dentro de máquinas virtuales alojadas en el mismo servidor físico. Cabe señalar que nunca se carga una máquina al 100 % para evitar cualquier fallo.

Esta práctica exige un nuevo enfoque del funcionamiento de las máquinas. Ya no se dedican cada una a una única operación, sino que integran varias funciones y servicios. Por lo tanto, se necesita un sistema para gestionar las diferentes máquinas virtuales que pueden alojarse en un mismo sistema físico.
Se le denomina hipervisor… y entonces surgen dos conceptos de virtualización, que clasifican a los hipervisores en tipo 1 o tipo 2.
Virtualización con hipervisor de tipo 1
Se trata de un sistema operativo específico, instalado de forma permanente en el sistema y diseñado para realizar tareas de virtualización. Actúa como sistema operativo de la máquina. Para poder coordinar sus funciones, creará particiones (o subsistemas) en miniatura (especialmente para Hyper-V). Cada uno de estos sistemas utilizará el hardware de la máquina física a través del hipervisor, que gestiona la distribución entre los recursos de hardware y las necesidades de las máquinas virtuales (VM).
Las cuatro soluciones más conocidas de hipervisores de tipo 1 son:
- VMware ESXi o Microsoft Hyper-V en cuanto a licencias,
- y Xen (en declive) o Proxmox, de código abierto. Cabe destacar que Proxmox también permite la gestión de contenedores.
Virtualización con hipervisor de tipo 2
Los hipervisores de tipo 2 no son sistemas operativos, sino programas informáticos; más concretamente, emuladores. Estos programas, que se ejecutan sobre un sistema operativo, se sitúan enel tercer nivel, después del hardware y del sistema operativo.
Los hipervisores de tipo 2 crean sistemas operativos virtualizados que se comportan como un sistema operativo.
Los principales actores de este tipo son VMware Workstation en el ámbito de las licencias; QEMU y VirtualBox en el ámbito del código abierto.
Cabe señalar que los emuladores de este tipo suelen incluir otras funciones y usos.
En conclusión, la virtualización se reduce a métodos y herramientas para optimizar el uso del hardware de los servidores. En esta fase no se habla en absoluto de la nube, aunque el uso incorrecto de este término es frecuente en este ámbito.


