Llegamos a ustedes gracias a:



Reportajes y análisis

¿Cuál es el futuro de la virtualización de servidores?

[20/07/2018] La virtualización de servidores es una de esas tecnologías que tiene un concepto simple, pero un impacto profundo en los centros de datos empresariales.

¿Qué sucede si, en lugar de ejecutar una instancia de sistema operativo y una aplicación por servidor, pudiera agregar una capa de software -conocida como hipervisor- que le permite ejecutar múltiples instancias de sistema operativo y cargas de trabajo asociadas en un solo servidor físico?

Esa es la idea detrás de la virtualización de servidores, que se remonta a los mainframes de IBM en la década de 1960 y fue popularizada por VMware, quien introdujo el software de virtualización para servidores x86 a principios los 2000. Desde entonces, otros proveedores han desarrollado sus propias plataformas de virtualización de servidores, y la industria en conjunto ha creado herramientas avanzadas de administración, automatización y orquestación que hacen que la implementación, el traslado y la administración de cargas de trabajo de máquinas virtuales (VM) sea algo sencillo.

Antes de esta virtualización, las empresas lidiaban con la proliferación de servidores, con potencia de computación subutilizada, facturas de electricidad vertiginosas, procesos manuales y con ineficiencia e inflexibilidad generales en los entornos sus centros de datos.

La virtualización de servidores cambió todo eso y ha sido ampliamente adoptada. De hecho, es difícil encontrar una empresa en la actualidad que no ejecute la mayoría de sus cargas de trabajo en un entorno VM.

Pero, como sabemos, ninguna tecnología es inmune a que la siguiente gran innovación le quite el control. En el caso de la virtualización de servidores, la próxima gran innovación es pequeña.

La virtualización de servidores tomó un dispositivo físico y lo dividió, permitiendo que múltiples sistemas operativos y múltiples aplicaciones desarrolladas aprovechen la potencia de computación subyacente.

En la próxima ola de informática, los desarrolladores están dividiendo las aplicaciones en microservicios más pequeños que se ejecutan en contenedores ligeros, y también experimentando con la computación sin servidor (también conocida como function-as-a-service (FaaS)).

En ambos escenarios, la VM se omite por completo y el código se ejecuta en bare metal.

Beneficios de la virtualización de servidores

Son muchos los beneficios de la virtualización de servidores, comenzando por la consolidación básica del servidor. Puede combinar múltiples aplicaciones en una sola pieza de hardware, reduciendo así la cantidad total de servidores requeridos en el centro de datos. Menos servidores, menos bastidores, menos equipo de red; todo se traduce en ahorro de dinero, desde el espacio físico hasta los costos de mantenimiento y el aire acondicionado.

La virtualización de servidores reduce la necesidad de gastos de capital en hardware nuevo, lo que le permite desconectarse del círculo vicioso de actualización de hardware. Y puede volver a implementar esos servidores repentinamente liberados.

¿Recuerda cuando los administradores de centros de datos tenían que aprovisionar servidores manualmente? Junto con la virtualización de servidores vienen avances en la automatización, que le permiten hacer girar una máquina virtual en segundos, y mover múltiples cargas de trabajo con solo tocar un botón en respuesta a las cambiantes necesidades empresariales.

La virtualización de servidores también ofrece la alta disponibilidad, failover, velocidad, escalabilidad, agilidad, rendimiento y flexibilidad que requieren las empresas web actuales altamente conectadas. Y la virtualización de servidores es la tecnología subyacente que permite a los proveedores de cloud computing ofrecer sus servicios. Cuando un cliente solicita la infraestructura como servicio (IaaS) a un proveedor de servicios en la nube, comienzan con VMs y luego agregan las características de almacenamiento, administración y seguridad asociadas necesarias para llevar a cabo la tarea en cuestión.

Los diferentes tipos de virtualización de servidores

En el mundo de la virtualización de servidores, el servidor físico se conoce como el host y ejecuta un sistema operativo host. Cada VM es un guest y ejecuta un sistema operativo guest. Los guests están divididos el uno del otro.

  • Con la virtualización estándar basada en hipervisor, el hipervisor o monitor de máquina virtual (VMM) se ubica entre el host OS y la capa de hardware subyacente, proporcionando los recursos necesarios para los guest OS.
  • La paravirtualización y la virtualización completa modifican el sistema operativo guest antes de la instalación en la máquina virtual. Esto mejora el rendimiento, ya que el sistema operativo guest modificado se comunica directamente con el hipervisor, eliminando la sobrecarga de emulación.
  • La virtualización asistida por hardware también intenta reducir la sobrecarga del hipervisor, pero lo hace a través de extensiones de hardware en lugar de modificaciones de software.
  • Con la virtualización a nivel kernel, en lugar de utilizar un hipervisor, se ejecuta una versión separada del kernel de Linux. Esto hace que sea más fácil ejecutar múltiples máquinas virtuales en un solo host, con un driver de dispositivo usado para la comunicación entre el kernel principal de Linux y las máquinas virtuales.
  • Finalmente, con la virtualización a nivel de sistema o de sistema operativo, puede ejecutar múltiples entornos, pero lógicamente distintos, en una sola instancia del kernel del sistema operativo. Con la virtualización a nivel de sistema, todas las máquinas virtuales deben compartir la misma copia del sistema operativo, mientras que la virtualización de servidores permite que las VMs tengan diferentes sistemas operativos.

Máquinas virtuales vs. contenedores

Los dos principales facilitadores del movimiento de contenedorización son Docker, una herramienta popular para hacer girar los contenedores; y Kubernetes de Google, que ayuda a administrar varios contenedores. Los contenedores son entornos autónomos de ejecución de código que comparten el kernel del sistema operativo host.

Los contenedores son más optimizados y livianos que las máquinas virtuales porque evitan los sistemas operativos guest redundantes y la sobrecarga de inicio asociada. Los desarrolladores pueden ejecutar entre seis y ocho veces más contenedores que máquinas virtuales en el mismo hardware.

Los contenedores tienen sus desventajas. Como un enfoque relativamente nuevo, no tienen la riqueza de herramientas de gestión que una tecnología madura suele tener, por lo que hay que realizar una gran cantidad de tareas de configuración y mantenimiento. También existen preocupaciones sobre la seguridad.

Con las VMs, las cargas de trabajo pueden ser fácilmente trasladadas entre hosts utilizando imágenes guest, pero las máquinas de bare metal son más difíciles de actualizar o mover. Con servidores bare metal, revertir el estado de una máquina es una tarea desafiante.

Máquinas virtuales vs. computación sin servidor

En un entorno de la nube IaaS tradicional, lo primero que hacen los clientes es abastecer las máquinas virtuales, el almacenamiento, bases de datos y herramientas de administración y seguridad asociadas; y luego cargan aplicaciones en las máquinas virtuales.

Con la computación sin servidor, los desarrolladores escriben código y el proveedor de servicios en la nube maneja todo lo demás. El desarrollador nunca tendrá que preocuparse por servidores, sistemas operativos, aprovisionamiento o administración. Por supuesto, existe un servidor físico que ejecuta el código, pero esa es responsabilidad del proveedor de servicios en la nube.

En lugar de una aplicación monolítica, el código se divide en funciones específicas. Cuando un evento desencadena una función, el servicio sin servidor -por ejemplo, Lambda de Amazon- lo ejecuta. Los proveedores sin servidor cobran a los clientes por la función.

Al igual que en el escenario de microservicio/contenedores, la computación sin servidor pasa por alto la capa de máquina virtual y las funciones se ejecutan en bare metal. A estas alturas, la computación sin servidor es relativamente inmadura y los casos de uso son limitados.

El futuro de la virtualización de servidores

Mientras que los contenedores son tendencia y el interés por la computación sin servidores crece, la realidad es que la virtualización de servidores es una tecnología sólida que impulsa la gran mayoría de las aplicaciones empresariales. Algunas estimaciones colocan la saturación de VM hasta en un 90%.

Es difícil imaginar a una empresa trasladar aplicaciones esenciales que funcionan sin problemas en máquinas virtuales a contenedores o a una plataforma sin servidores. Es probable que los usuarios con entornos heterogéneos aún utilicen VMs debido a que los contenedores necesitan ejecutarse en el mismo sistema operativo y no puede haber mezclas entre Linux y Windows.

Pero para las nuevas aplicaciones que están siendo creadas con las últimas metodologías agile y DevOps, los desarrolladores ahora tienen opciones. En el futuro, los desarrolladores tomarán decisiones específicas sobre si ejecutar nuevas cargas de trabajo en una máquina virtual tradicional, un contenedor o un entorno sin servidor.