Virtualización

menu icon

Virtualización

La virtualización es el proceso que permite una utilización más eficiente del hardware físico y es la base de la computación en la nube.

¿Qué es la virtualización?

La virtualización utiliza software para crear una capa de abstracción sobre el hardware del sistema que permite que los elementos de hardware de un único sistema (procesadores, memoria, almacenamiento y más) se dividan en varios sistemas virtuales, comúnmente llamados máquinas virtuales (VM). Cada VM ejecuta su propio sistema operativo (SO) y se comporta como una computadora independiente, aunque se esté ejecutando en una parte del hardware informático subyacente existente.

De este modo, la virtualización permite una utilización más eficiente del hardware físico y un mayor retorno de inversión de hardware de una empresa.

Hoy en día, la virtualización es una práctica estándar en la arquitectura de TI empresarial. También es la tecnología que impulsa la rentabilidad de la computación en la nube. La virtualización permite a los proveedores de nube ofrecer servicios a los usuarios con su hardware físico existente y permite a los usuarios de la nube adquirir solo los recursos informáticos que necesitan y cuando los necesitan, y escalarlos de forma rentable a medida que crezcan sus cargas de trabajo.

Para obtener una visión general de cómo funciona la virtualización, vea "Virtualización explicada" (5:20):

Ventajas de la virtualización

La virtualización aporta varias ventajas a los operadores de centros de datos y proveedores de servicios:

  • Eficiencia de recursos: antes de la virtualización, cada servidor de aplicaciones necesitaba su propia CPU física dedicada; el personal de TI compraba y configuraba un servidor independiente para cada aplicación que querían ejecutar (TI prefería una aplicación y un sistema operativo por computadora por razones de confiabilidad). Invariablemente, cada servidor físico era infrautilizado. En cambio, la virtualización del servidor le permite ejecutar varias aplicaciones, cada una en su propia VM con su propio sistema operativo, en una única computadora física (normalmente un servidor x86) sin sacrificar la confiabilidad. Esto permite la máxima utilización de la capacidad informática del hardware físico.
  • Gestión más fácil: la sustitución de sistemas físicos por máquinas virtuales definidas por software facilita el uso y la gestión de políticas escritas en software. Esto le permite crear flujos de trabajo de gestión de servicios de TI automatizados. Por ejemplo, las herramientas de implementación y configuración automatizadas permiten a los administradores definir colecciones de máquinas virtuales y aplicaciones como servicios, en plantillas de software. Esto significa que pueden instalar esos servicios de forma reiterada y consistente sin una configuración manual complicada, larga y propensa a errores. Los administradores pueden utilizar políticas de seguridad de virtualización para ordenar determinadas configuraciones de seguridad basadas en el rol de la máquina virtual. Las políticas pueden incluso aumentar la eficiencia de los recursos al retirar las máquinas virtuales no utilizadas para ahorrar espacio y potencia informática.
  • Inactividad mínima: el sistema operativo y los fallos de aplicación pueden causar tiempo de inactividad e interrumpir la productividad. Los administradores pueden ejecutar varias máquinas virtuales redundantes junto con otras y ejecutar una conmutación por error entre ellas cuando surjan problemas. La ejecución de varios servidores físicos redundantes es más costosa.
  • Aprovisionamiento más rápido: la compra, instalación y configuración de hardware para cada aplicación requiere mucho tiempo. Siempre que el hardware ya esté instalado, el suministro de máquinas virtuales para ejecutar todas las aplicaciones es significativamente más rápido. Incluso puede automatizarlo utilizando software de gestión e incorporarlo en flujos de trabajo existentes.

Para un análisis más profundo de los posibles beneficios, vea "5 beneficios de la virtualización".

Soluciones

Varias empresas ofrecen soluciones de virtualización que abordan tareas específicas del centro de datos o escenarios de virtualización de desktop centrados en el usuario final. Entre los ejemplos más conocidos están VMware, que se especializa en virtualización de servidores, desktop, red y almacenamiento; Citrix, especializado en la virtualización de aplicaciones, pero que también ofrece virtualización de servidores y soluciones de desktop virtual; y Microsoft, cuya solución de virtualización de Hyper-V es compatible con Windows y se centra en las versiones virtuales de las computadoras de desktop y servidores.

Máquinas virtuales (VM)

Las máquinas virtuales (VM) son entornos virtuales que simulan un hardware físico en formato de software. Normalmente incluyen varios archivos que contienen la configuración de la VM, el almacenamiento para la unidad de disco duro virtual y algunas instantáneas de la VM que conservan su estado en un momento determinado.

Para obtener una visión general completa de las VM, vea "¿Qué es una máquina virtual?".

Hipervisores

Un hipervisor es la capa de software que coordina las VM. Sirve como interfaz entre la VM y el hardware físico subyacente, lo que asegura que cada uno tenga acceso a los recursos físicos que necesita ejecutar. También se asegura de que las VM no interfieran entre sí al incidir en el espacio de memoria o en los ciclos informáticos de la otra.

Hay dos tipos de hipervisores:

  • Los hipervisores de Tipo 1 o "bare-metal" interactúan con los recursos físicos subyacentes, sustituyendo por completo al sistema operativo tradicional. Suelen aparecer en escenarios de servidor virtual.
  • Los hipervisores de tipo 2 se ejecutan como una aplicación en un sistema operativo existente. Normalmente se utilizan en dispositivos de punto final para ejecutar sistemas operativos alternativos y tienen una sobrecarga de rendimiento porque deben utilizar el sistema operativo host para acceder y coordinar los recursos de hardware subyacentes.

"Hipervisores: guía completa" proporciona una visión general completa de los hipervisores.

Tipos de virtualización

Hasta ahora, hemos analizado la virtualización de servidores, pero muchos otros elementos de la infraestructura de TI se pueden virtualizar para ofrecer ventajas significativas a los administradores de TI (en particular) y a la empresa en general. En esta sección, describiremos los siguientes tipos de virtualización:

  • Virtualización de desktop
  • Virtualización de red
  • Virtualización de almacenamiento
  • Virtualización de datos
  • Virtualización de aplicaciones
  • Virtualización de centro de datos
  • Virtualización de CPU
  • Virtualización de GPU
  • Virtualización de Linux
  • Virtualización de nube

Virtualización de desktop

La virtualización de desktop le permite ejecutar varios sistemas operativos de desktop, cada uno en su propia máquina virtual en el mismo sistema.

Hay dos tipos de virtualización de desktop:

  • La infraestructura de desktop virtual (VDI) ejecuta varios desktops en máquinas virtuales en un servidor central y los transmite a los usuarios que inician sesión en dispositivos de cliente ligero. De este modo, la VDI permite a una organización proporcionar a sus usuarios acceso a una variedad de sistemas operativos desde cualquier dispositivo, sin tener que instalar el sistema operativo en ningún dispositivo. Para obtener más información, vea "¿Qué es la infraestructura de desktop virtual (VDI)?".
  • La virtualización de desktop local ejecuta un hipervisor en un sistema local, lo que permite al usuario ejecutar uno o más sistemas operativos adicionales en ese sistema y cambiar de un sistema operativo a otro según sea necesario, sin cambiar nada del SO principal.

Para obtener más información acerca de los desktops virtuales, vea "Desktop como servicio (DaaS)".

Virtualización de red

La virtualización de red utiliza software para crear una "vista" de la red que un administrador puede usar para gestionar la red desde una única consola. Abstrae elementos y funciones de hardware (por ejemplo, conexiones, conmutadores, enrutadores, etc.) y los incluye en software que se ejecuta en un hipervisor. El administrador de red puede modificar y controlar estos elementos sin tocar los componentes físicos subyacentes, lo que simplifica drásticamente la gestión de la red.

Los tipos de virtualización de red incluyen la red definida por software (SDN), que virtualiza el hardware que controla el enrutamiento del tráfico de red (denominado "plano de control"), y la virtualización de funciones de red (NFV), que virtualiza uno o más dispositivos de hardware que proporcionan una función de red específica (por ejemplo, un firewall, un equilibrador de carga o un analizador de tráfico), lo que facilita la configuración, el suministro y la gestión de dichos dispositivos.

Virtualización de almacenamiento

La virtualización de almacenamiento permite acceder a todos los dispositivos de almacenamiento de la red, tanto si están instalados en servidores individuales como en unidades de almacenamiento autónomas, y gestionarlos como un único dispositivo de almacenamiento. Específicamente, la virtualización de almacenamiento junta todos los bloques de almacenamiento en un único conjunto compartido desde el que se pueden asignar a cualquier VM de la red según sea necesario. La virtualización de almacenamiento facilita el suministro de almacenamiento para las máquinas virtuales y permite el máximo uso de todo el almacenamiento disponible en la red.

Para obtener más información acerca de la virtualización de almacenamiento, vea "¿Qué es el almacenamiento en la nube?"

Virtualización de datos

Las empresas modernas almacenan datos de varias aplicaciones y utilizan varios formatos de archivo en varias ubicaciones, desde la nube a sistemas locales de hardware y software. La virtualización de datos permite a cualquier aplicación acceder a todos los datos, independientemente de su origen, formato o ubicación.

Las herramientas de virtualización de datos crean una capa de software entre las aplicaciones que acceden a los datos y los sistemas que los almacenan. La capa procesa la solicitud o consulta de datos de una aplicación según sea necesario y ofrece resultados que pueden abarcar varios sistemas. La virtualización de datos permite romper los silos de datos cuando otros tipos de integración no son factibles, deseables o accesibles.

Virtualización de aplicaciones

La virtualización de aplicaciones ejecuta el software de la aplicación sin instalarlo directamente en el sistema operativo del usuario. Esto difiere de la virtualización completa de desktop (mencionada anteriormente) porque solo la aplicación se ejecuta en un entorno virtual; el SO en el dispositivo del usuario final se ejecuta como siempre. Existen tres tipos de virtualización de aplicaciones:

  • Virtualización de aplicaciones locales: toda la aplicación se ejecuta en el dispositivo del usuario final, pero opera en un entorno de ejecución en lugar de en el hardware nativo.
  • Transmisión de aplicaciones: la aplicación reside en un servidor que envía pequeños componentes del software para que se ejecuten en el dispositivo del usuario final cuando sea necesario.
  • Virtualización de aplicaciones basadas en servidores: la aplicación se ejecuta completamente en un servidor que envía solo su interfaz de usuario al dispositivo cliente.

Virtualización de centro de datos

La virtualización de centro de datos cambia la mayor parte del hardware de un centro de datos a un software, lo que permite a un administrador dividir un único centro de datos físico en varios centros de datos virtuales para distintos clientes.

Cada cliente puede acceder a su propia infraestructura como servicio (IaaS), que se ejecutará en el mismo hardware físico subyacente. Los centros de datos virtuales ofrecen una fácil introducción en la computación basada en la nube, lo que permite a una empresa configurar rápidamente un entorno de centro de datos completo sin necesidad de adquirir hardware de infraestructura.

Virtualización de CPU

La virtualización de CPU (unidad central de procesamiento) es la tecnología fundamental que hace posible los hipervisores, las máquinas virtuales y los sistemas operativos. Permite dividir una sola CPU en varias CPU virtuales para que las utilicen varias máquinas virtuales.

Antes, la virtualización de CPU era totalmente definida por software, pero muchos de los procesadores actuales incluyen conjuntos de instrucciones ampliados que admiten la virtualización de CPU, lo que mejora el rendimiento de la VM.

Virtualización de GPU

Una GPU (unidad de procesamiento gráfico) es un procesador especial de varios núcleos que mejora el rendimiento informático general al hacerse cargo de un procesamiento gráfico o matemático de gran potencia. La virtualización de la GPU permite que varias máquinas virtuales utilicen toda o parte de la potencia de procesamiento de una sola GPU para videos más rápidos, inteligencia artificial (IA) y otras aplicaciones de gran intensidad gráfica o matemática.

  • Las GPU pass-through hacen que toda la GPU esté disponible para un único sistema operativo invitado.
  • Las vGPU compartidas dividen los núcleos de GPU físicos entre varias GPU virtuales (vGPU) para que las utilicen las máquinas virtuales basadas en servidores.

Virtualización de Linux

Linux incluye su propio hipervisor, llamado máquina virtual basada en kernel (KVM), que admite las extensiones del procesador de virtualización de Intel y AMD para crear máquinas virtuales basadas en x86 desde un sistema operativo Linux host.

Como sistema operativo de código abierto, Linux es altamente personalizable. Puede crear máquinas virtuales que ejecuten versiones de Linux adaptadas a cargas de trabajo específicas o versiones con una mayor seguridad para aplicaciones más confidenciales.

Virtualización de nube

Como se indicó anteriormente, el modelo de computación en la nube depende de la virtualización. Al virtualizar los servidores, el almacenamiento y otros recursos físicos del centro de datos, los proveedores de computación en la nube pueden ofrecer una variedad de servicios a los clientes, incluyendo:

  • Infraestructura como servicio (IaaS): recursos de servidor, almacenamiento y red virtualizados que puede configurar en función de sus requisitos.
  • Plataforma como servicio (PaaS): herramientas de desarrollo virtualizadas, bases de datos y otros servicios en la nube que puede utilizar para crear sus propias aplicaciones y soluciones basadas en la nube.
  • Software como servicio (SaaS): aplicaciones de software que utiliza en la nube. SaaS es el servicio en la nube más abstracto del hardware.

Para obtener más información acerca de estos modelos de servicio en la nube, vea nuestra guía: "IaaS vs. PaaS vs. SaaS".

Virtualización vs. contenerización

La virtualización del servidor reproduce una computadora entera en hardware, que luego ejecuta un sistema operativo completo. El SO ejecuta una aplicación. Esto es más eficiente que no tener virtualización, pero de todas formas duplica el código y los servicios innecesarios para cada aplicación que desee ejecutar.

Los contenedores tienen un enfoque alternativo. Comparten un kernel del sistema operativo subyacente y solo ejecutan la aplicación y los elementos de los que depende, como las bibliotecas de software y las variables de entorno. Esto hace que los contenedores sean más pequeños y más rápidos de implementar.

Para obtener más información acerca de contenedores y contenerización, vea "Contenedores: Guía completa" y "Contenerización: Guía completa".

Lea la publicación del blog "Contenedores vs. VM: ¿Cuál es la diferencia?" para ver una comparación más detallada.

En el siguiente video, Sai Vennam explica los fundamentos de la contenerización y cómo se compara con la virtualización a través de las VM (8:09):

VMware

VMware crea software de virtualización. VMware comenzó ofreciendo solo virtualización de servidor; su hipervisor ESX (ahora ESXi) fue uno de los primeros productos de virtualización que tuvo éxito comercial. Actualmente, VMware también ofrece soluciones para la virtualización de redes, almacenamiento y desktop.

Para obtener más información acerca de VMware, vea "VMware: Guía completa".

Seguridad

La virtualización ofrece algunas ventajas de seguridad. Por ejemplo, las VM infectadas con malware pueden restaurarse a un punto en el tiempo (denominado snapshot) cuando estaban estables y en buen estado; también se pueden suprimir y volver a crear más fácilmente. No siempre se puede desinfectar un SO no virtualizado, ya que el malware a menudo está profundamente integrado en los componentes principales del sistema operativo y puede persistir más allá de las restauraciones del sistema.

La virtualización también presenta algunos retos de seguridad. Si un atacante compromete un hipervisor, es posible que pueda acceder a todas las máquinas virtuales y los sistemas operativos invitados. Debido a que los hipervisores también pueden permitir que las VM se comuniquen entre sí sin tocar la red física, puede ser difícil ver su tráfico y, por lo tanto, detectar la actividad sospechosa.

Un hipervisor de tipo 2 en un SO host también es susceptible a comprometer el SO host.

El mercado ofrece una variedad de productos de seguridad de virtualización que pueden escanear y y crear parches de la VM en caso de malware, cifrar discos virtuales de VM completos y tanto controlar como auditar el acceso a la VM.

Virtualización e IBM

IBM Cloud ofrece un complemento completo de soluciones de virtualización basadas en la nube, que abarcan desde servicios en la nube pública a soluciones de nubes privadas e híbridas. Puede utilizarlo para crear y ejecutar infraestructura virtual y también aprovechar los servicios, desde IA basada en la nube a migración de carga de trabajo de VMware con IBM Cloud for VMware Solutions.

Regístrese hoy para obtener una cuenta de IBM Cloud.