Creación de una nube empresarial con F5 e IBM
Introducción
Según algunas estimaciones, la nube empresarial —también conocida como nube privada— se está adoptando a un ritmo más rápido que la nube pública. La consultora empresarial Accenture sitúa la penetración de la nube privada en las empresas en un 77 % para finales de 2011.1 Gran parte de este rápido avance hacia la creación de una infraestructura local ágil se debe a la necesidad de los departamentos de TI de empresas grandes y pequeñas de mantener internamente el control y la gestión tanto de la infraestructura como de los datos.
Una vez tomada la decisión de adoptar una infraestructura en la nube, la elección entre una nube interna/privada y una externa/pública se reduce a analizar el coste, el riesgo y el valor. Una nube pública suele ofrecer un enfoque flexible y el mayor ahorro de costes; sin embargo, conlleva riesgos relacionados con la seguridad, los acuerdos de nivel de servicio (SLA), la disponibilidad y la gestión. El departamento de TI puede aprovechar una capacidad de escalado prácticamente ilimitada con un bajo coste de entrada, pero a cambio renuncia al control. Pasar de un centro de datos tradicional, ubicado en las propias instalaciones o alojado por un proveedor, a una nube pública externa equivale, en esencia, a dejar todo el centro de datos en manos de un tercero.
Con una nube empresarial, el departamento de TI dispone del nivel de control que necesita y evita los riesgos asociados a una nube pública; sin embargo, implementar una nube privada resulta más caro, exige que el personal cuente con mayores conocimientos y experiencia, y añade un mayor grado de complejidad al centro de datos local. La infraestructura de nube empresarial puede ampliarse según sea necesario y ofrece aprovisionamiento dinámico y agilidad, pero esa escalabilidad y ese control suelen conllevar un coste inicial más elevado.
F5 Networks® e IBM han diseñado conjuntamente una arquitectura de referencia para la nube empresarial que mitiga muchos de los retos asociados a la complejidad. Esta traslada a las instalaciones muchos de los componentes de arquitectura y escalabilidad de una nube pública, lo que reduce considerablemente el coste de crear un sistema interno por partes. Al predefinir los componentes necesarios y describir cómo funcionan en conjunto, F5 e IBM han creado una infraestructura de nube empresarial completa, dinámica y ágil.
Flujo de trabajo
El elemento más importante de un sistema de aprovisionamiento bajo demanda es la capacidad de tomar decisiones y actuar en función de los eventos. Un evento producido en algún punto del sistema genera una alerta o un mensaje que recoge un componente (ya sea uno que se haya suscrito al bus de mensajes o uno al que se haya enviado una solicitud directamente mediante una llamada a la API), que a continuación actúa en función de dicho mensaje. El flujo de trabajo es el proceso y el orden en que los componentes actúan sobre los mensajes del sistema.
En una nube empresarial, el flujo de trabajo suele dividirse en componentes de aprovisionamiento que solicitan o liberan recursos, y en los pasos necesarios para gestionar la asignación de recursos. Cuando una máquina virtual (VM) necesita recursos de CPU adicionales, se inicia un flujo de trabajo para determinar de dónde procederán dichos recursos, iniciar una nueva VM, asignar una dirección IP, etc.
Arquitectura del flujo de trabajo
La arquitectura de nube empresarial de F5 e IBM se basa en dos principios fundamentales:
- Existe un bus de mensajes centralizado que se utiliza para transportar mensajes de notificación de eventos, y todos los componentes que deben actuar ante dichos eventos están conectados al bus.

Más allá de estos dos principios, la arquitectura de referencia de F5 e IBM es extremadamente flexible, lo que significa que puede adaptarse a cualquier arquitectura existente de centro de datos o de nube. Por ejemplo, si ya existe un motor de orquestación para gestionar el despliegue de máquinas virtuales, esta arquitectura de referencia puede adaptarse para utilizar dicho motor. Una idea errónea sobre la creación de una nube empresarial es que debe sustituirse toda la infraestructura; la solución de F5 e IBM se diseñó para integrarse con los componentes existentes en cada paso posible.
Componentes del flujo de trabajo
Independientemente de qué componentes ya existan y cuáles sean nuevos, el flujo de trabajo de la nube empresarial se compone de componentes específicos que realizan tareas concretas. Todo el sistema en la nube está formado por estos componentes individuales, que trabajan conjuntamente para proporcionar la infraestructura de nube completa. Esta infraestructura se sustenta y controla mediante flujos de trabajo de componentes: tareas coordinadas que gestionan un evento en la nube.
Bus de mensajes
El bus de mensajes es el sistema que transporta mensajes basados en eventos y alertas a cada componente afectado. Cuando un evento genera un mensaje, este se envía a través del bus de mensajes a un componente concreto, que dispone de reglas para determinar qué hacer con él. El bus de mensajes también se encarga de normalizar los mensajes según las reglas específicas de cada componente.
La arquitectura de nube de referencia de F5 e IBM utiliza la solución IBM Tivoli Netcool OMNIbus como bus de mensajes central; no obstante, se puede utilizar cualquier bus de mensajes empresarial para transmitir notificaciones de eventos por todo el sistema.
Orquestador
El orquestador puede considerarse el cerebro de la nube empresarial: el componente responsable de tomar la mayoría de las decisiones generales de aprovisionamiento basándose en los mensajes recibidos a través del bus. El orquestador iniciará los principales eventos y flujos de trabajo de la arquitectura de nube, como el flujo de trabajo «aprovisionar una nueva máquina virtual». También se encarga de obtener los datos necesarios para cada flujo de trabajo y proporcionárselos a los componentes correspondientes; por ejemplo, facilitaría la información de la dirección IP necesaria para aprovisionar una nueva máquina virtual.
Para la arquitectura de referencia, el orquestador se crea mediante una serie de scripts interpretados que actúan sobre los mensajes del bus e inician eventos de flujo de trabajo. Se puede utilizar cualquier tipo de orquestador, como IBM Tivoli Intelligent Orchestrator, HP Operations Orchestration o VMware vCenter Orchestrator.
Controlador de la nube
El controlador de la nube es el sistema de front-end encargado de recopilar y agregar los datos preliminares necesarios para iniciar un proceso de aprovisionamiento. Inicialmente, un administrador proporciona esta información como parte del proceso de creación, y esta es específica de cada tipo de flujo de trabajo utilizado para el aprovisionamiento. Por ejemplo, el controlador de la nube recopila información que incluye la ubicación de la máquina virtual, el tipo de aplicación (servidor web, servidor de bases de datos, servidor de correo, etc.) y los requisitos mínimos de recursos.
Durante un evento de aprovisionamiento automatizado, una vez que estos datos preliminares ya se han almacenado en el sistema, el orquestador solicita y extrae la información existente para iniciar el flujo de trabajo de aprovisionamiento. Algunos ejemplos de controladores de nube son Eucalyptus Cloud Controller, VMware vCloud Director y Amazon EC2. Para facilitar el crecimiento futuro y la ampliación a otras plataformas en la nube, es recomendable elegir un controlador de nube que pueda integrarse con un conjunto estándar de API de nube o comunicarse con él. Esto permite ampliar el controlador de nube a un proveedor de nube pública o híbrida sin tener que rediseñar la arquitectura de la plataforma de nube empresarial.
Controlador de clúster/hipervisor
El controlador del clúster es el componente de la nube empresarial responsable de gestionar la máquina virtual que se está aprovisionando, así como el almacenamiento y los metadatos necesarios para ejecutar la máquina virtual. Como entorno de ejecución de la máquina virtual, el controlador del clúster incluye el hipervisor de la plataforma virtual y también puede incluir un entorno más amplio de gestión de hipervisores. Por ejemplo, el controlador del clúster podría ser un hipervisor básico, como VMware ESXi, o un conjunto más amplio de sistemas de hipervisores distribuidos, como VMware vSphere o VMware vCloud.
Monitorización
La supervisión del estado y el funcionamiento es un elemento esencial en cualquier despliegue de aplicaciones empresariales. La supervisión también proporciona actualizaciones de estado a los sistemas de aprovisionamiento, por ejemplo, cuando una máquina virtual está en funcionamiento y responde a las conexiones de red. La supervisión continua del sistema puede generar alertas en tiempo real que, en última instancia, se incorporan a nuevos flujos de trabajo e influyen en las decisiones de aprovisionamiento. En el despliegue de la nube empresarial se puede utilizar cualquier componente capaz de supervisar el estado de las aplicaciones y la red; sin embargo, en la arquitectura de referencia de F5 e IBM se utiliza el software IBM Tivoli Monitoring.
DNS
El sistema de nombres de dominio (DNS) desempeña un papel fundamental en la arquitectura de referencia de nube empresarial de F5 e IBM: se encarga de almacenar no solo la información de direcciones IP y nombres de dominio para IPv4 e IPv6, sino también metadatos del sistema, como la información recopilada por el controlador de la nube y los datos de identificación únicos de las máquinas. Para esta arquitectura de referencia, se eligió DNS como ubicación de almacenamiento de los metadatos porque es un sistema basado en estándares que ya existe en la mayoría de las redes, está disponible para todos los componentes de la nube y evita tener que añadir a la infraestructura almacenamiento adicional de tipo base de datos. Puede utilizarse cualquier solución DNS gestionada por el departamento de TI que permita añadir zonas y archivos de zona adicionales.
Almacenamiento
En la arquitectura de referencia de F5 e IBM, el controlador del clúster ejecuta la máquina virtual desde el almacenamiento local; sin embargo, cuando no está en ejecución, el disco virtual de la máquina virtual se encuentra en el almacenamiento virtualizado. Durante un evento de aprovisionamiento del flujo de trabajo, el controlador del clúster solicitará el disco virtual al dispositivo de almacenamiento virtual mediante el sistema de archivos de red (NFS).
Controlador de entrega de aplicaciones
El último componente de la nube empresarial es el controlador de entrega de aplicaciones (también denominado equilibrador de carga), que, en la arquitectura de referencia de F5 e IBM, es F5® BIG-IP® Local Traffic Manager™ (LTM). BIG-IP LTM gestiona las conexiones, los servicios y la entrega de los datos de la aplicación procedentes de la máquina virtual. En última instancia, BIG-IP LTM es la última parte del sistema que interviene en un evento de aprovisionamiento del flujo de trabajo.
Guías paso a paso: aprovisionamiento manual y automatizado
El objetivo de la arquitectura de referencia de nube empresarial de F5 e IBM es proporcionar una plataforma basada en recursos y aplicable a entornos reales para desplegar aplicaciones de forma dinámica. Una vez instalados todos los componentes, estos funcionan conjuntamente —mediante diversos flujos de trabajo— para aprovisionar nuevos servicios de aplicaciones según sea necesario. Hay dos formas de aprovisionar los sistemas de la nube empresarial: el aprovisionamiento manual y el aprovisionamiento automatizado.
Aprovisionamiento manual
Normalmente, el primer flujo de trabajo en la nube empresarial se inicia mediante un proceso manual basado en la información proporcionada por el administrador del sistema o el solicitante de la aplicación. Esto no significa que el flujo de trabajo sea manual; solo lo es la introducción inicial de la información en el sistema. Una vez recopilados los datos del administrador, el sistema inicia los eventos automatizados y predefinidos del flujo de trabajo para el aprovisionamiento de la aplicación.
Paso 1: Introducción de datos en el controlador de la nube
Mediante la interfaz gráfica de usuario del controlador de la nube, el administrador (o el solicitante de la aplicación, según quién sea responsable de iniciar un nuevo proceso de aprovisionamiento) introduce la información necesaria para crear una nueva máquina virtual y poner en marcha una aplicación. Esta información suele consistir en datos de infraestructura de alto nivel, como:
- Tipo de aplicación: una lista predefinida de los tipos de aplicaciones disponibles, como Microsoft SharePoint, un servidor web, un servidor de correo, una base de datos Oracle, etc.
- Información de red: dirección IP del clúster, URL del front-end, si esta aplicación será de acceso público o solo de uso interno, etc.
- Información de aprovisionamiento: Cualquier información adicional necesaria para el sistema de aprovisionamiento, como la ubicación de red (a menudo, una referencia geográfica vinculada a un centro de datos físico; por ejemplo, «Europa – Centro de datos de Copenhague») y cualquier restricción relativa al número mínimo y máximo de instancias permitidas de un determinado tipo de aplicación.
Esta información se utiliza como metadatos para el aprovisionamiento automatizado en toda la nube empresarial.
Paso 2: Iniciar el flujo de trabajo de aprovisionamiento; distribuir los metadatos
Una vez que el administrador envía los datos requeridos, el siguiente paso consiste en que el controlador de la nube agrupe esa información —junto con un identificador único de instancia creado dinámicamente, que se utiliza en todo el sistema para identificar esta instancia durante el aprovisionamiento, como «vm12345»— y la distribuya al orquestador a través del bus de mensajes.
Toda la información proporcionada durante el primer paso es normalizada por el bus de mensajes antes de entregarse al orquestador.
Al mismo tiempo, el controlador de la nube proporciona al hipervisor, a través de una API, los mismos metadatos y el identificador único de la instancia, y le indica que despliegue la imagen de la aplicación requerida. Este evento hace que el hipervisor solicite al almacenamiento en la nube la imagen de disco de la máquina virtual correspondiente. El dispositivo de almacenamiento recupera la imagen de disco adecuada a través de NFS y comienza a copiarla en el almacenamiento local.
Paso 3: El orquestador distribuye los metadatos
Una vez que el orquestador ha recibido del bus de mensajes la información normalizada del evento y los metadatos, inicia dos flujos de trabajo distintos que envían simultáneamente los metadatos a los sistemas de supervisión y al DNS. Los sistemas de supervisión utilizan esta información para configurar un programa automatizado de supervisión de la aplicación y comenzar a supervisarla tras recibir la notificación de que está operativa. Durante este paso, el orquestador también define los umbrales para los eventos del sistema de supervisión; por ejemplo, indica al sistema que envíe una notificación de evento cuando el uso de la CPU de esta instancia virtual supere el 75 %.
El orquestador también envía los metadatos de la instancia virtual al DNS, donde se almacenan para su uso en toda la nube empresarial. El orquestador se encarga de enviar los metadatos con el formato adecuado para la zona DNS, por lo que debe crear nombres de dominio basados en el ID de la instancia, crear registros DNS IPv4 e IPv6, añadir información de la instancia procedente del controlador de la nube y añadir la información de la nueva instancia a la zona correspondiente. Por ejemplo, el orquestador tomará el ID único de la instancia, creará una entrada DNS para «vm12345.vm.cloud.example.com» y la añadirá a la zona example.com existente.
El último paso para distribuir los metadatos por toda la nube empresarial consiste en incorporar al controlador de entrega de aplicaciones BIG-IP LTM la información de la nueva instancia, como el nombre de host, la dirección IP, el tipo de aplicación (o grupo en BIG-IP LTM) y la información de supervisión.
Paso 4: Notificación de la máquina virtual
En el paso 2, el controlador de la nube indicó al hipervisor que iniciara la máquina virtual asociada a la instancia recién aprovisionada. Una vez que dicha máquina virtual esté en funcionamiento según lo previsto y disponible para aceptar conexiones, notificará al orquestador mediante una alerta de evento en el bus de mensajes. El orquestador procesará esa alerta de evento e iniciará un flujo de trabajo que indicará a BIG-IP LTM que marque la nueva máquina virtual como disponible en el grupo y que comience a enviar y distribuir nuevas conexiones a la instancia virtual según el método de equilibrio de carga. BIG-IP LTM también comenzará a supervisar la nueva instancia mediante el monitor de aplicaciones configurado previamente y asignado al grupo de aplicaciones.
La alerta de evento de la máquina virtual recién iniciada también hará que el orquestador notifique al sistema general de supervisión de la nube empresarial que debe comenzar a supervisar la instancia virtual. En este punto, la instancia virtual recién aprovisionada está en funcionamiento en la nube empresarial y atendiendo solicitudes de servicios de aplicaciones. Este es el modo de funcionamiento normal de todos los servicios que forman parte de la nube empresarial.
Aprovisionamiento automatizado
El aprovisionamiento manual es el primer paso del flujo de trabajo para aprovisionar servicios en la nube empresarial, pero no es la modalidad de aprovisionamiento más habitual. En un sistema que funciona correctamente, la nube empresarial evoluciona hacia un sistema de supervisión automática más dinámico y flexible, y aprovisiona automáticamente nuevos servicios cuando son necesarios y en función de la demanda. Este ágil aprovisionamiento automático constituye el núcleo de cualquier plataforma en la nube y requiere eventos y flujos de trabajo adicionales de aprovisionamiento automatizado para supervisar los eventos en tiempo real y reaccionar ante ellos.
Paso 1: Monitorización y alertas
El primer paso de cualquier sistema de aprovisionamiento automático es la supervisión: recopilar y detectar eventos en todo el sistema. Durante la primera fase de aprovisionamiento manual, los sistemas de supervisión se configuraron con información sobre las instancias virtuales, como el nombre, la ubicación, el tipo de supervisión y los umbrales de eventos. Esta información se utiliza para supervisar automáticamente la disponibilidad y el rendimiento de las aplicaciones y las instancias virtuales. Cuando el sistema de supervisión detecta un evento —por ejemplo, que una determinada instancia virtual consume más del 75 % de los recursos de CPU disponibles—, genera un evento en el bus de mensajes que alerta al orquestador de que los recursos se están agotando.
Paso 2: Recopilación de datos
En un escenario típico de aprovisionamiento automatizado, el orquestador se encarga de crear una nueva instancia virtual que ayude a reducir la carga de recursos de la instancia actual. Se utilizarán dos o más instancias virtuales para distribuir las cargas informáticas y de red de la aplicación.
Para iniciar un flujo de trabajo de aprovisionamiento automatizado, el orquestador debe encargarse de recopilar los eventos de los componentes, así como de solicitar los metadatos necesarios para aprovisionar una nueva instancia virtual. En la arquitectura de referencia de F5 e IBM, los metadatos se almacenan en el DNS y se incorporan como parte del flujo de trabajo de aprovisionamiento manual original. El DNS devolverá al orquestador información —por ejemplo, el tipo de aplicación, la ubicación geográfica y los umbrales de aprovisionamiento—, como el tipo de aplicación, la ubicación geográfica y los umbrales de aprovisionamiento.
Paso 3: Inicio del flujo de trabajo
En el último paso de un flujo de trabajo de aprovisionamiento automatizado, el orquestador envía los metadatos obtenidos del DNS al controlador de la nube a través del bus de mensajes. En esencia, este paso automatizado simula el proceso mediante el cual un administrador introduce la información de la máquina e inicia manualmente el flujo de trabajo de aprovisionamiento. El controlador de la nube recibe esta información (tal como la recibiría del administrador en un aprovisionamiento manual) e inicia un nuevo flujo de trabajo de aprovisionamiento de una instancia virtual. A partir de este punto, los pasos y flujos de trabajo de aprovisionamiento descritos anteriormente se repiten hasta que la nueva instancia virtual está activa, en funcionamiento y acepta nuevas conexiones.
Una implementación típica de nube empresarial incluirá flujos de trabajo de aprovisionamiento tanto manuales como automatizados. Los nuevos servicios o aplicaciones se implementarán inicialmente mediante un flujo de trabajo manual para que un administrador pueda controlar cómo y dónde se implementa el servicio. Una vez que el servicio esté en funcionamiento, los flujos de trabajo de aprovisionamiento automatizados gestionarán el aprovisionamiento en función de las necesidades y la disponibilidad de los recursos.
Conclusión
La decisión de implementar una nube empresarial privada no debería conllevar una mayor complejidad ni problemas de interoperabilidad. El objetivo de cualquier implementación en la nube es reducir las barreras para crear nuevos servicios y proporcionar una infraestructura informática más ágil. Una nube empresarial aporta esa agilidad al centro de datos, mejorando considerablemente la capacidad de gestión y el control.
En colaboración con IBM, F5 ha creado una arquitectura de referencia para una nube empresarial de aprovisionamiento automático. Esta arquitectura está diseñada para ser modular y flexible, lo que permite integrar los componentes existentes según sea necesario y conectar toda la nube empresarial con cualquier otra plataforma en la nube mediante API y una infraestructura de mensajería compartida. No hay dos nubes empresariales privadas exactamente iguales; sin embargo, la arquitectura de F5 e IBM se adapta a distintos entornos y aporta las ventajas de una infraestructura ágil a cualquier implementación de aplicaciones o centro de datos.
1 Babcock, Charles (18 de enero de 2011). «Private Clouds Taking Off». Information Week. Web.
PUBLICADO EL 10 DE ENERO DE 2012
