La virtualización es el proceso de crear una versión virtual de algo como el hardware informático. Consiste en utilizar software especializado para crear una versión virtual o creada por software de un recurso informático en lugar de la versión real del mismo recurso.
Las alertas personalizadas y la visualización de datos le permiten identificar y prevenir rápidamente los problemas de salud y rendimiento de la red.
Por ejemplo, un ordenador virtual es un sistema informático que sólo existe dentro del software de otro sistema y no como un ordenador real con su propio procesador y almacenamiento. A menudo se pueden crear y utilizar varios recursos virtuales dentro de un único recurso no virtual.
Imagine un simulador de vuelo. Uno tan bueno como para engañar a un piloto real. El simulador tendría que imitar no sólo los controles, sino también los sonidos, las sensaciones e incluso los olores de la cabina de un avión real. Tendría que reaccionar no sólo a cualquier entrada de los joysticks, mandos y palancas, sino también devolver la respuesta esperada a cada una de esas cosas, como ser más difícil de girar o generar el sonido del tren de aterrizaje retrayéndose o extendiéndose.
En este caso, un piloto pilotaría el avión de la misma manera que un avión normal, sin saber nunca que no es un avión de verdad. Un servidor virtual funciona de la misma manera. Para el sistema operativo, los programas instalados e incluso el usuario, el servidor virtualizado está realmente recibiendo todas las entradas y generando todas las respuestas exactamente igual que un sistema físico, aunque sólo sea simulado.
Independientemente del tipo de virtualización, este efecto se consigue mediante la instalación de un programa especializado que imita la naturaleza exacta de lo que se está virtualizando. En el caso de una virtualización bare metal, la virtualización simula el hardware real, recibiendo entradas y devolviendo datos del sistema operativo como si se tratara de un servidor real. Este mimetismo llega hasta el punto de informar sobre el estado de la batería o la temperatura de la CPU, aunque sólo exista una CPU virtual.
La máquina anfitriona es el hardware físico sobre el que tiene lugar la virtualización. Esta máquina ejecuta el software de virtualización que permite la existencia de máquinas virtuales. Sus componentes físicos, como la memoria, el almacenamiento y el procesador, gestionan en última instancia las necesidades de las máquinas virtuales. Estos recursos suelen estar ocultos o enmascarados para las máquinas invitadas.
Para producir este efecto, se instala un software de virtualización, como un hipervisor, en el hardware físico real.
El propósito de la máquina host es proporcionar la potencia de cálculo física a las máquinas virtuales en forma de CPU, memoria, almacenamiento y conexión de red.
Se trata de una máquina sólo software que se ejecuta en la máquina anfitriona dentro del entorno virtual creado. Puede haber varias máquinas virtuales ejecutándose en un único host. Una máquina virtual no tiene por qué ser un ordenador. También es posible virtualizar varios tipos de almacenamiento, bases de datos y otros sistemas.
Una máquina virtual ejecuta su propio entorno. Emula o simula una única pieza de hardware físico, como un ordenador de sobremesa o un servidor. Sin embargo, todo pasa a través del hipervisor, que realiza las peticiones reales al hardware real. El hardware devuelve los datos o la información al hipervisor, que los transmite a la máquina virtual.
Cada máquina virtual funciona por separado de las demás máquinas virtuales. De hecho, cada máquina virtual cree que es el único sistema que funciona en el hardware.
También es posible emular hardware informático alternativo. Por ejemplo, se puede crear una máquina virtual que emule una matriz de almacenamiento en un hardware de servidor estándar. La matriz de almacenamiento virtual se comportará igual que si tuviera 20 discos duros conectados a la red, porque el hipervisor actuará como si así fuera.
El objetivo de la máquina virtual es ejecutar las aplicaciones y el entorno de usuario de cada sistema virtual.
A veces llamado gestor de máquinas virtuales, el hipervisor es el software que existe para ejecutar, crear y gestionar las máquinas virtuales. El hipervisor es lo que hace posible la virtualización y crea un entorno virtual en el que se ejecutan las máquinas huéspedes. Para la máquina huésped, la máquina virtual del hipervisor es la única que existe, aunque haya numerosas máquinas virtuales ejecutándose en el mismo hardware físico.
Los hipervisores de tipo 1, o bare-metal, se instalan directamente en el hardware físico. Como tales, deben contener sus propios sistemas operativos para arrancar, ejecutar el hardware y conectarse a la red. Entre los hipervisores de tipo 1 más conocidos se encuentran Microsoft Hyper-V y VMware ESXi.
Los hipervisores de tipo 2, o alojados, funcionan con un sistema operativo que se instala directamente en el hardware. En este caso, debe instalarse una copia de Windows o un sistema basado en Unix para arrancar el sistema y acceder al hardware. Una vez que el sistema operativo está en marcha, el hipervisor alojado puede iniciarse. Los hipervisores de tipo 2 suelen utilizarse para ejecutar varios sistemas operativos en una sola máquina, en lugar de emular numerosos sistemas en ejecución en el hardware.
Entre los hipervisores de tipo 2 más populares se encuentran VMware Workstation, VirtualBox y Parallels, que emula un sistema operativo Windows mientras se ejecuta en un ordenador basado en Mac.
El objetivo del hipervisor es gestionar cada máquina virtual y proporcionarle los recursos que necesita para funcionar.
Las notificaciones en tiempo real significan una solución de problemas más rápida para que pueda actuar antes de que se produzcan problemas más graves.
El tipo más común de virtualización es la virtualización de hardware. Con la virtualización de hardware, un programa de software abstrae el hardware físico como hardware virtual. El hipervisor actúa como intermediario entre las máquinas virtuales y el hardware físico.
La virtualización de hardware crea una versión virtual, sólo software, de una máquina física, como un ordenador, un router o una matriz de almacenamiento. La forma más básica de virtualización de hardware es la creación de un ordenador o servidor virtual. En este caso, el ordenador virtual imita una máquina física real completa con procesador, memoria direccionable y espacio en el disco duro. Cuando la máquina virtual interactúa con el procesador o la memoria, en realidad lo hace con el hipervisor, que a su vez pasa por el acceso. Del mismo modo, el hipervisor recibe los datos del hardware físico y los transmite a la máquina virtual como si procedieran del hardware virtual.
Todo lo que se puede hacer en una máquina real se puede duplicar dentro de la máquina virtual, incluida la instalación de diferentes sistemas operativos. Un único servidor virtualizado puede ejecutar varias máquinas virtuales diferentes, cada una con su propio sistema operativo, programas instalados, servicios en ejecución, niveles de parches, etc. Cada una se configura, se ejecuta y se mantiene en funcionamiento. Cada una se configura, ejecuta e instala según su uso, de forma totalmente independiente de las demás máquinas virtuales.
Dado que la máquina virtual no es consciente de que está virtualizada, el software y los servicios que se ejecutan en su interior no necesitan ser especialmente instalados o configurados para ser virtualizados.
Generalmente, cada máquina virtual tiene particionada la capacidad de utilizar un subconjunto de toda la potencia de la máquina anfitriona. Una máquina huésped puede configurarse con 20 GB de RAM, por ejemplo, aunque la máquina anfitriona real tenga 512 GB de RAM.
Para la máquina huésped, sólo existen los recursos expuestos por el hipervisor. En el ejemplo anterior, la máquina virtual nunca podría acceder a más de 20 GB de RAM, independientemente de la necesidad. Para la máquina virtual sólo existe esa cantidad.
Los recursos totales expuestos a todas las máquinas invitadas combinadas no tienen por qué limitarse a los recursos totales de la máquina anfitriona. El hipervisor puede ofrecer 20 GB de RAM a 50 máquinas virtuales diferentes en un sistema con sólo 512 GB de RAM. Dado que la mayoría de los sistemas no utilizan el máximo de recursos disponibles en todo momento, el hipervisor puede asignar dinámicamente la memoria host subyacente a cada sistema según sea necesario. Esto se conoce como sobresuscripción.
Además, como el hipervisor presenta la ilusión de máquinas físicas únicas y completamente accesibles, ninguna máquina virtual puede ver a otra máquina virtual. Esto permite que numerosas máquinas virtuales se ejecuten sin interactuar. Como resultado, en la misma máquina anfitriona, no sólo pueden existir máquinas virtuales de diferente tamaño, sino también con diferentes sistemas operativos.
La virtualización es la clave de la computación en nube. Los proveedores ofrecen la posibilidad de crear, mantener y administrar una máquina virtual en un hardware externo. Dado que cada máquina virtual existe como un sistema independiente, no hay necesidad de segregar clientes por motivos de seguridad o estabilidad. Incluso si un usuario corrompiera todo su sistema, tal daño no tendría efecto fuera de esa única máquina virtual.
Antes de la virtualización, el almacenamiento y la ejecución de servidores fuera de las instalaciones en la red de otro proveedor se realizaba como alojamiento remoto. Para ello, el proveedor de la nube tenía que suministrar un servidor físico real para cada máquina solicitada. Mantener esta proporción de un servidor físico por cada servidor funcional del cliente requería mucho trabajo y era muy costoso.
Con la llegada de la computación en nube, un proveedor no tiene por qué adecuar el hardware físico a cada solicitud de una nueva máquina. En su lugar, se puede crear una máquina virtual.
Los principales proveedores de nube instalan y operan hardware de servidor enormemente potente, que a su vez suele estar virtualizado a partir de un conjunto de hardware. Para cada uno de estos grandes servidores, el proveedor de la nube crea las máquinas virtuales solicitadas por el cliente.
Por ejemplo, un cliente puede solicitar un nuevo servidor con una determinada cantidad de potencia de procesamiento, memoria y espacio en disco. El proveedor de la nube "arrancará" una nueva máquina virtual con esas especificaciones en una de sus propias máquinas anfitrionas sin instalar ningún hardware físico nuevo. Como cada máquina virtual no tiene acceso directo al hardware físico subyacente al hipervisor, no hay riesgo para los datos ni para la estabilidad del sistema.
Hay varias empresas que ofrecen un producto hipervisor o gestor de máquinas virtuales que permite la virtualización total del hardware. Las más importantes son VMware y su línea vSphere, y Microsoft con Hyper-V. Otros son Citrix XenServer y KVM.
Lo mejor de la virtualización es que cada sistema virtualizado no puede distinguir si es virtual o se ejecuta directamente en el hardware. Esto permite crear una máquina virtual dentro de otra, lo que se conoce como virtualización anidada. Una máquina virtual creada por una empresa en Amazon AWS podría estar a su vez dentro de una máquina virtual creada por Amazon, por ejemplo.
En cierto modo, esto es como una versión informática de Blade Runner. Los servidores no saben si son servidores reales o servidores creados virtualmente, aunque cada uno de ellos cree, en todo momento, que son "reales".
Este anidamiento no tiene límite. Así, Amazon puede instalar un enorme sistema bare metal en un centro de datos. Instala un hipervisor de metal desnudo en ese sistema para crear un sistema para uso de su división de computación en nube. La división de computación en nube, a su vez, instala un hipervisor que divide cada sistema por regiones. Cuando un cliente solicita una nueva máquina virtual, la división de computación en nube de Amazon crea otra máquina virtual. Finalmente, el cliente también pasa a crear dos máquinas virtuales a partir de esa, una para producción y otra para un entorno de pruebas. Cada máquina funciona exactamente igual que una pieza física de hardware.
Este anidamiento es fundamental para proporcionar un entorno en el que no sea necesario ni útil conocer el sistema anterior.
En lugar de crear una máquina física virtual, es posible crear un sistema operativo o escritorio virtual. En este caso, el entorno de usuario, todo lo que está por encima del sistema operativo, se encapsula en un único escritorio virtual. Se pueden instalar varios escritorios virtuales en el mismo ordenador. Cada conjunto de aplicaciones y personalizaciones queda bloqueado dentro del escritorio virtual y no afecta a otros escritorios virtuales.
Un escritorio virtual puede trasladarse de una máquina física a otra. Cuando los escritorios virtuales se almacenan en un servidor en red, esto permite a un usuario desplazarse de un ordenador a otro disponiendo siempre de su propio entorno de escritorio. A diferencia de la virtualización de hardware, que utiliza un hipervisor para controlar las máquinas virtuales por debajo del sistema operativo, un escritorio virtual sólo puede utilizarse en un sistema operativo que esté correctamente instalado y configurado. Además, un espacio de trabajo virtual puede ver a través del hardware físico que se ejecuta en la máquina anfitriona.
Es posible virtualizar una aplicación. A diferencia de la virtualización física, en la que el hipervisor imita una configuración de hardware completa, la virtualización de aplicaciones requiere que la aplicación pueda virtualizarse. A diferencia de la virtualización de escritorio, la virtualización de aplicaciones no suele permitir que otras aplicaciones interactúen con la aplicación virtualizada.
La virtualización de aplicaciones se utiliza principalmente para permitir que una aplicación se ejecute en un sistema sin tener que instalarla. Más bien, una aplicación virtual contiene su propio entorno virtual en el que ejecutarse.
Al igual que la virtualización física requiere un hipervisor para crear y gestionar máquinas virtuales, la virtualización de aplicaciones requiere un gestor de aplicaciones como Microsoft App-V o Citrix ZenApp.
PRTG es un software de monitoreo de red integral y realiza un seguimiento de toda su infraestructura de TI.
Las numerosas ventajas de la virtualización están impulsando su crecimiento. Comprender estas ventajas también suele responder a la pregunta de por qué virtualizar.
Una de las principales ventajas de la virtualización es la consolidación de servidores. Tradicionalmente, la decisión empresarial de adquirir e instalar un servidor se basaba en factores como la necesidad de recursos, la estabilidad y la seguridad. El uso de diferentes servidores proporcionaba un equilibrio de carga al dotar de abundantes recursos a cada servicio y aplicación críticos. Además, estar en servidores diferentes significaba que si un servidor se veía comprometido, el otro podía seguir funcionando. Con la virtualización, pueden obtenerse los mismos beneficios en una única pieza de hardware. Los servidores siguen estando completamente aislados por máquinas virtuales, y ya no es necesario sobredimensionar los servidores.
Cada nuevo servidor consume más energía para hacer funcionar su procesador y el resto del hardware. Además, cada uno de esos componentes genera calor, que debe evacuarse, normalmente mediante ventiladores y aire acondicionado. La adición de máquinas virtuales no añade hardware adicional, por lo que no requiere energía ni refrigeración adicionales.
Las máquinas virtuales se duplican fácilmente. Esto facilita tanto la creación de nuevas copias del mismo sistema como la mejora de la disponibilidad. En lugar de programar periodos de inactividad durante el fin de semana para instalar parches o actualizar un sistema, los administradores pueden instalar los parches o actualizaciones en una copia de la máquina virtual en funcionamiento y, a continuación, cambiar la máquina virtual antigua por la recién actualizada.
Las instantáneas de máquinas virtuales ofrecen una forma de crear o devolver un sistema a su estado exacto sin necesidad de volver al mismo hardware. Como resultado, las instantáneas ofrecen una gran forma de recuperación ante desastres. Si algo le ocurriera a todo un centro de datos, en teoría toda la operación podría restaurarse rápidamente haciendo girar nuevas máquinas virtuales en una nueva ubicación utilizando instantáneas de los sistemas originales.
Aunque la virtualización ofrece muchas ventajas, introduce una complejidad adicional en el entorno informático.
Para las empresas que instalan y gestionan la virtualización en sus propios centros de datos, el hipervisor representa otra capa que hay que instalar, gestionar, licenciar y actualizar. Esto puede requerir personal o formación adicional.
Dado que la virtualización depende de recursos lo suficientemente potentes como para ejecutar varias máquinas virtuales a la vez, la virtualización puede requerir una mayor inversión en hardware, especialmente al principio. Aunque un servidor mucho más potente puede acabar sustituyendo a docenas de servidores menos potentes a través de la virtualización y reducir los costes a largo plazo, en algunos entornos puede llevar varios años recuperar la inversión inicial.
Con tantas máquinas virtuales posibles, de misión crítica, funcionando en una sola pieza de hardware físico, la recuperación ante desastres y la tolerancia a fallos son aún más importantes, lo que puede suponer un gasto y una complejidad adicionales.
La separación completa de las máquinas virtuales proporciona una gran seguridad entre los sistemas. Cualquier violación de la seguridad, ya sea intencionada o accidental, requiere la capacidad de acceder a los recursos del sistema vulnerable. Con la virtualización, cada sistema se ejecuta de forma independiente, e incluso desconoce la existencia de otras máquinas virtuales. Por lo tanto, no hay forma de montar ningún tipo de ataque de seguridad "a través" del muro de la virtualización.
Existe la preocupación teórica de que un hipervisor, por definición, tiene algún tipo de acceso a cada máquina virtual en un sistema físico dado. Si se pudiera comprometer de algún modo el propio hipervisor, existiría la posibilidad de un ataque del tipo "hombre en el medio", en el que los datos que entran y salen del hipervisor podrían ser interceptados y luego leídos o modificados. Aunque actualmente no se conoce ningún ataque de esta naturaleza que haya tenido éxito, esto no significa que no pueda ocurrir nunca. El concepto de ataque al hipervisor se denomina hyperjacking.