¿Qué es la virtualización?
La Virtualización es la tecnología que permite representar mediante software un recurso tecnológico, simulando su existencia, de esta forma los programas detectarán este recurso como si fuera real (físico).
Pilares de la virtualización
- Particionar: Dividir recursos reales usando diferentes técnicas o estrategias para ser usados como recursos virtuales.
- Encapsulamiento: se almacena el estado completo de una VM (Virtual Machine: máquina virtual) en archivos, para copiar y mover VM como al copiar y mover archivos.
- Aislamiento, se aisla del hardware real, conservando el rendimiento mediante controles avanzados de recursos para evitar fallas.
- Independencia de hardware, se puede aprovisionar o migrar cualquier máquina virtual a cualquier otro hipervisor compatible sin importar su hardware.
¿Qué se puede hacer con la virtualización?
La virtualización tiene muchísimas aplicaciones, con ella se pueden crear máquinas virtuales (VM del inglés Virtual Machine), en las cuales se puede instalar otros sistemas operativos . De esta forma en una máquina física o servidor pudiesen estar funcionando varias máquinas virtuales al mismo tiempo, lo cual es muy beneficioso para muchas empresas y personas, ya que reducen la cantidad de equipos que tienen que tener para realizar las mismas funciones. También se pueden crear virtualmente dispositivos de redes como hubs, bridges, switchs, conexiones, tarjetas de red, etc.
Tipos de Virtualización
Virtualización de infraestructura
La virtualización de infraestructura consiste en la creación de Máquinas Virtuales que simulan ser máquinas físicas en las cuales se puede instalar un Sistema operativo, y todas las demás aplicaciones como si fuese una computadora del mundo real. Estas máquinas virtuales pueden acceder a recursos como la red, tarjetas de video, sonido, cámaras, dispositivos USB o cualquier otro que el hipervisor comparta con ellas. Este tipo de virtualización permite gestionar los recursos de hardware que tendrá la VM en dependencia de los recursos reales disponibles.
Virtualización de recursos de hardware
Dentro de los recursos de hardware que podemos virtualizar están los procesadores (vCPU), la memoria RAM y ROM (Firmware, ejemplo el BIOS), las interfaces de red (NIC), redes completas (VLAN), dispositivos de almacenamiento (RAID, LVM, SAN y NAS).
Virtualización de recursos de computación
Es lo que hacen los grandes clústeres de servidores en los centros de datos (La Nube) en los que un software especial se encarga de unir las capacidades de procesamiento de varios servidores y presentarlo como un solo sistema de gran capacidad de cómputo.
Virtualización de interfaces de red
Permite usar técnicas como la Agregación de enlaces (Bonding) que simula un dispositivo de red único con gran ancho de banda utilizando múltiples interfaces de red independientes.
Virtualización de red
Permite la representación de redes lógicas como por ejemplo las VLAN, VPN, Virtual IP.
Virtualización a nivel de sistema operativo o contenedorización
Es lo que hacen tecnologías como Docker y LXC, que permite ejecutar de forma paralela instancias de espacio de usuario, aisladas unas de otras, llamadas contenedores en las cuales se despliegan aplicaciones que usan el kernel del sistema anfitrión.
Ventajas de la virtualización
- Favorece la seguridad de los sistemas instalados en las máquinas virtuales, pues las mismas están separadas lógicamente; un ataque de malware o un fallo en el software en una no afectaría a las otras, cada máquina está aislada, cada VM tiene un acceso de administración independiente.
- Reduce los gastos operativos, por la disminución de equipamiento físico.
- Reduce los costos de mantenimiento del hardware, al haber menos equipos se requiere menos gastos en mantenimiento.
- Minimiza o elimina los tiempos de inactividad de los recursos, porque cada recurso virtualizado funciona independientemente, utilizando los tiempos en que estaban ociosos los recursos reales.
- Permite la compatibilidad de programas, permite usar un programa inexistente o incompatible con nuestra plataforma.
- Aumenta la productividad, la eficiencia, la agilidad y la capacidad de respuesta del departamento de Tecnología en las empresas.
- Implementa aplicaciones y recursos con más rapidez y facilidad, pues todo se hace en software.
- Facilita la Migración de sistemas en caliente y/o la clonación de los mismos.
- Facilidad para crear entornos de pruebas
- Facilita la tarea de hacer respaldos, ya que se pueden hacer respaldos de máquinas virtuales completas con todas sus configuraciones.
- Garantiza la continuidad del negocio y la recuperación ante desastres, pues toma menos tiempo levantar los servicios ante alguna afectación.
- Simplifica la gestión del centro de datos.
Desventajas de la virtualización
La implantación de la esta tecnología también tiene sus contras, entre ellas debemos hablar de las siguientes:
- Aumento de los costos iniciales.
- Necesidad de aprender a manejar el nuevo entorno virtual.
- Menor rendimiento en pequeños porcentajes.
- Limitaciones de Hardware, Cada Hipervisor tiene hardware gestionable o soportado y pueden imponernos una serie de dispositivos virtuales como Tarjetas de Vídeo y Red de las que no podremos ampliar.
Dado que los recursos virtuales corren en una capa intermedia a la del hardware real el rendimiento será inferior, pero en un porciento pequeño. Por otro lado, el abuso excesivo de recursos virtuales en un solo equipo físico acabará saturando el mismo, ocasionando una afectación al rendimiento. Es importante que solo se creen los recursos virtuales indispensables, ni uno más.
Los microprocesadores modernos cuentan además con conjuntos de instrucciones específicas para acelerar la virtualización, esta característica se habilita en la configuración del BIOS de la PC o servidor en cuestión.
Al software que permite la ejecución de Máquinas Virtuales (VM) se le llama Hipervisor, al sistema operativo principal que soporta al hipervisor y las máquinas virtuales se le llama sistema operativo anfitrión y al sistema operativo de las máquinas virtuales se les llama sistema huésped o sistema hospedado. Los Hipervisdores pueden ser de dos tipos, los de tipo 1 funcionan directamente sobre el hardware y los de tipo 2 lo hacen sobre un sistema operativo anfitrión
Herramientas de software para virtualizar (Hipervisores):
Hipervisores de tipo 1-Virtualización en servidor la variante usada en empresas y centros de datos
- VMware: ESX / vSphere Hypervisor
- Microsoft Hyper-V Server
- Promox VE
- Citrix XenServer
- Citrix Hypervisor
- Xen
Hipervisores de tipo 2 – Virtualización en estación de trabajo
- VMWare Workstations / Player
- VirtualBox
- Microsoft Virtual PC
- QEMU
- Virt-Manager
La virtualización es la base de otras tecnologías que usamos hoy como por ejemplo “La computación en la nube”, pero eso es otro tema del que hablaremos en otro artículo.