OpenStack, que se está convirtiendo rápidamente en la plataforma de nube dominante para brindar infraestructura como servicio (IaaS), ahora impulsa nubes privadas, públicas y privadas administradas. A medida que las nubes OpenStack albergan cada vez más aplicações de producción de misión crítica, los servicios avanzados de entrega de aplicação para las capas 4 a 7 se están volviendo esenciales. Estos servicios brindan seguridad adicional, escalabilidad y optimización para garantizar que las aplicações de misión crítica permanezcan seguras, rápidas y disponibles. F5 es el proveedor líder de servicios avanzados de distribución de aplicação en centros de datos, nubes públicas y privadas, incluidas aquellas impulsadas por OpenStack. Los servicios de entrega de aplicação F5 pueden diseñarse en una nube OpenStack, y la consideración anticipada de las opciones disponibles resulta útil para planificar de manera eficiente una arquitectura y una implementación de OpenStack.
OpenStack es una plataforma de software de código abierto que se utiliza para ofrecer computación en la nube. OpenStack, que comenzó como un proyecto conjunto entre la NASA y RackSpace Hosting, actualmente está administrado por la fundación OpenStack con el mandato de promover el software y la comunidad OpenStack.
Actualmente varias organizaciones comerciales producen su propia distribución de OpenStack u ofrecen servicios adicionales como soporte, consultoría o dispositivos preconfigurados.
OpenStack se compone de una serie de componentes que proporcionan los distintos servicios necesarios para crear un entorno de computación en la nube. Estos componentes están ampliamente documentados en otros lugares. Sin embargo, hay una serie de módulos que son directamente relevantes para una implementación de F5 OpenStack.
Función | Componente | Descripción |
---|---|---|
Computación | Estrella nueva | Administra grupos de recursos informáticos en diversas configuraciones de virtualización y hardware. |
Redes de contactos | Neutrón | Administra redes, superposiciones, direcciones IP y servicios de red de aplicação , como equilibrio de carga. |
Orquestación | Calor | Orquesta otros componentes de OpenStack mediante plantillas y API |
Un elemento fundamental de OpenStack es la API RESTful , a través de la cual se pueden configurar y automatizar los componentes de infraestructura. En muchos casos de uso de OpenStack (como la creación de una nube de autoservicio multiinquilino o la creación de una infraestructura para respaldar las prácticas de DevOps), la orquestación impulsada por API es esencial. La capacidad de reducir los tiempos de implementación de semanas a minutos, o de implementar cientos de servicios por día, es a menudo la fuerza impulsora detrás de la migración a una plataforma en la nube. Para que esto sea efectivo, todos los componentes de la infraestructura deben ser parte del marco de automatización. Muchas aplicações requerirán servicios de entrega de aplicação avanzados (como seguridad de aplicação o control de acceso) para estar verdaderamente listas para producción, por lo que es vital que los servicios de entrega de aplicação se integren con las herramientas de orquestación y aprovisionamiento de OpenStack.
La multitenencia es un concepto importante en OpenStack. Dentro de OpenStack, a un grupo de usuarios se le denomina proyecto o inquilino. (Los dos términos son intercambiables.) A los proyectos se les pueden asignar cuotas para recursos como cómputo, almacenamiento o imágenes. Uno de los puntos de decisión más importantes a la hora de diseñar una arquitectura para múltiples inquilinos es cómo se diseña la red para los inquilinos. Las plataformas F5® BIG-IP® ofrecen una gama de opciones de separación de red y multiinquilino para permitir la interoperabilidad con la multiinquilino OpenStack.
Las redes de proveedores generalmente utilizan redes planas (sin etiquetas) o, más comúnmente, redes VLAN (etiquetadas 802.1Q). Estos se corresponden estrechamente con las redes de centros de datos tradicionales. Las redes OpenStack son definidas y creadas por el administrador y compartidas entre los inquilinos.
En algunos casos, las instancias de cómputo de un inquilino tendrán interfaces directamente en la red del proveedor. Los inquilinos no definen sus propias redes, sino que simplemente se conectan a las redes del proveedor configurado utilizando rangos de direcciones IP definidos por el administrador del proveedor. En otros casos, los inquilinos crearán configuraciones de red virtuales dentro de las redes del proveedor.
Los administradores pueden permitir que los inquilinos creen sus propias arquitecturas de red específicas, que con mayor frecuencia son controladas por OpenStack Neutron mediante instancias de Open vSwitch en nodos de cómputo, aunque también se pueden utilizar otras soluciones de redes definidas por software (SDN). Las VLAN o los túneles Ethernet transparentes que utilizan tecnología GRE o VXLAN permiten la comunicación entre instancias de cómputo de los inquilinos y las aíslan de otros inquilinos. A principios de 2016, la tunelización GRE ha sido el método de implementación más común. Los inquilinos pueden crear sus propias redes y rangos de direcciones IP, que pueden superponerse entre ellos. Cada inquilino puede tener un enrutador OpenStack para permitir la comunicación fuera de sus redes. Esto se logra asignando al inquilino una o más direcciones IP flotantes, que el enrutador del inquilino traduce a la dirección IP privada del inquilino configurada. (Tenga en cuenta que las direcciones IP flotantes OpenStack Neutron y BIG-IP son cosas diferentes; más adelante se analizará cómo la plataforma BIG-IP gestiona el aislamiento de los inquilinos).
Los productos F5 ofrecen un espectro de servicios avanzados de entrega de aplicação que están diseñados para proporcionar escalabilidad, disponibilidad y seguridad de múltiples capas. Algunos ejemplos clave (pero no exhaustivos) incluyen:
Seguridad | Servicios avanzados de firewall de red
|
Disponibilidad | Monitoreo a nivel de aplicación
|
Rendimiento | Optimización de redes y transporte
|
Flexibilidad | Programabilidad de la ruta de datos
|
La plataforma BIG-IP está disponible en ediciones físicas, virtuales y en la nube. La plataforma ofrece servicios de aplicação a través de módulos de software BIG-IP. Una plataforma BIG-IP puede ejecutar uno o más módulos de software para adaptarse a las necesidades de las aplicações, y la plataforma puede implementarse como una unidad independiente o en clústeres de alta disponibilidad.
Función | Módulo de software F5 | |
---|---|---|
Seguridad | Seguridad de la capa de red | Administrador de firewall avanzado BIG-IP® (AFM) |
Seguridad de la capa de aplicaciones | Administrador de seguridad de aplicação BIG-IP® (ASM) | |
Identidad y acceso | Administrador de políticas de acceso BIG-IP® (APM) | |
Disponibilidad | Disponibilidad de aplicação y optimización del tráfico | BIG-IP® Local Traffic Manager™ (LTM) |
Disponibilidad global y DNS | DNS BIG-IP® | |
Rendimiento | Optimización de aplicação y redes | Administrador de aceleración de aplicação BIG-IP® (AAM) |
La plataforma BIG-IP es un proxy bidireccional, con estado y sin copias, de muy alto rendimiento. Comprender este principio arquitectónico básico puede ayudar a comprender cómo la plataforma BIG-IP brinda servicios y aclarar las opciones arquitectónicas.
Los clientes se conectan al dispositivo o instancia BIG-IP, que se conecta a servidores back-end (o en algunos casos, como los servicios DNS, maneja el tráfico de la aplicação y responde directamente al cliente). Esto crea un “espacio de aire” TCP, con una regeneración completa de la sesión TCP entre el cliente y el servidor. Dentro de este vacío lógico, la plataforma BIG-IP proporciona servicios de entrega de aplicação . A medida que el tráfico de aplicação transita por la plataforma, se puede inspeccionar, modificar y controlar, por lo que la plataforma BIG-IP brinda control total del tráfico de aplicação entrante y saliente.
La plataforma BIG-IP también cuenta con la certificación ICSA Labs para firewalls de aplicação web y de red, para los cuales se prueban rigurosamente la separación de tráfico y la seguridad de la plataforma, lo que proporciona una garantía de seguridad adicional.
Los servicios y plataformas de entrega de aplicação OpenStack y F5 se combinan para brindar servicios de nivel de producción a las aplicações alojadas en OpenStack. Se puede acceder a los servicios de entrega de aplicação F5 de dos maneras dentro de OpenStack: El servicio Neutron Load Balancing as a Service (LBaaS) versión 2 y la orquestación Heat. (F5 también admite la integración de la versión 1 de LBaaS con Neutron, pero la comunidad OpenStack ha dejado obsoleta la API de la versión 1 a partir del lanzamiento de Liberty de OpenStack).
Neutron LBaaS permite servicios básicos de equilibrio de carga para instancias de cómputo (y, por lo tanto, de aplicação). Estos servicios se limitan a un subconjunto básico de funciones y características que son comunes en una amplia gama de plataformas de equilibrio de carga.
El modelo de prestación de servicios LBaaS abstrae los recursos que proporcionan el servicio de los servicios en sí. Los recursos que proporcionan los servicios existen como parte de la infraestructura de OpenStack en lugar de dentro de los recursos de los inquilinos de OpenStack. A este modelo a veces se le denomina "bajo la nube".
OpenStack LBaaS se basa en una serie de objetos lógicos para crear una configuración de equilibrio de carga.
Objeto | Descripción |
---|---|
equilibrador de carga | El objeto raíz. Especifica la subred de la IP virtual (VIP), que puede asignarse estáticamente o asignarse, del inquilino y del proveedor. |
oyente | Un oyente en un puerto específico del VIP del balanceador de carga. Especifica el puerto y un número limitado de tipos de protocolo |
piscina | Un grupo al que el oyente enviará tráfico. Especifica el protocolo, el oyente principal y el algoritmo de equilibrio de carga. |
miembro | Un miembro de la piscina. Especifica la dirección IP, el número de puerto y (opcionalmente) la subred de una instancia de la aplicação a la que se puede dirigir el tráfico. |
monitor de salud | Crea un monitor de salud vinculado a un grupo. Especifica el tipo de monitor, la frecuencia y los tiempos de espera, junto con opciones para la ruta HTTP, los métodos y los códigos esperados. |
persistencias de sesión lbaas | Define cómo debe manejarse la persistencia de la sesión (por ejemplo, limitada a la persistencia de cookies o IP de origen) |
El modelo de objetos se muestra en la Figura 3.
Como en todas las operaciones de OpenStack, LBaaS se gestiona mediante una API RESTful. Esta API permite a los usuarios realizar llamadas REST para crear, actualizar y eliminar objetos LBaaS. Transcurren varios pasos entre la llamada a la API de un usuario y el cambio de configuración en una instancia de BIG-IP.
El controlador F5 OpenStack LBaaS maneja el mapeo entre los objetos LBaaS y las llamadas API para crearlos o actualizarlos en una configuración en una instancia BIG-IP. El controlador LBaaS permite que una instancia BIG-IP se convierta en un proveedor de servicios de equilibrio de carga dentro de una nube impulsada por OpenStack.
El controlador F5 LBaaS en realidad consta de dos componentes separados:
El controlador LBaaS recibe tareas como resultado de las llamadas API LBaaS realizadas por el inquilino y las traduce en llamadas API F5 iControl® para crear o actualizar objetos de configuración en el dispositivo BIG-IP o la edición virtual. Cuando los inquilinos utilizan redes de inquilinos aislados y túneles de superposición de red o VLAN, el controlador LBaaS permite que varios inquilinos reciban servicio desde una única instancia de BIG-IP o una configuración de alta disponibilidad (HA). El complemento F5 LBaaS crea las llamadas API necesarias a la instancia BIG-IP y a Nova para garantizar que el tráfico del inquilino se enrute al objeto de escucha aislado del inquilino (VIP en términos de BIG-IP) en la instancia BIG-IP compartida.
En entornos de múltiples inquilinos, una parte clave de Nova es garantizar que los inquilinos estén aislados unos de otros. Los componentes LBaaS de BIG-IP utilizan una serie de funciones multiinquilino de BIG-IP para garantizar la separación del tráfico de los inquilinos.
Componente | Notas |
---|---|
Compatibilidad con superposición de red | Compatibilidad con túneles VXLAN y GRE: El tráfico de los inquilinos está completamente encapsulado dentro y fuera del sistema BIG-IP |
Dominios de ruta | Espacios de direcciones estrictamente definidos dentro de la plataforma. Cada dominio de ruta aísla los espacios de direcciones IP y la información de enrutamiento. Los espacios de direcciones IP se pueden duplicar entre dominios, lo que permite una fácil reutilización del direccionamiento privado RFC 1918 para múltiples inquilinos. |
Particiones administrativas | Crear configuraciones administrativamente separadas. Cada configuración de inquilino está contenida dentro de una partición administrativa separada |
Para comprender con más detalle cómo y cuándo se utilizan estas funciones de múltiples inquilinos, consulte el archivo Readme del agente y controlador de F5 OpenStack LBaaS .
LBaaS proporciona un sistema simple, impulsado por API, para implementar servicios de equilibrio de carga dentro de OpenStack, proporcionando equilibrio de carga básico para una gran cantidad de clientes. Sin embargo, la API solo ofrece un subconjunto de las funciones de un controlador de entrega de aplicação (ADC) integral. Esta tabla compara LBaaS y los servicios BIG-IP nativos en algunas propiedades clave de entrega de aplicação , como compatibilidad de protocolos, servicios adicionales y monitores de estado.
Propiedad | Servicios BIG-IP a través de LBaaS | Servicios nativos de ADC BIG-IP |
---|---|---|
Protocolos | Sólo TCP | TCP, UDP, SCTP |
Protocolos L7 | HTTP, HTTPS | HTTP, HTTP/2, HTTPS, FTP, RTSP, Diámetro, FIX, SIP, PCoIP, RDP |
Seguridad de la capa de aplicaciones | Ninguno | Firewall de aplicação web completo (WAF) |
Seguridad de la capa de red | Ninguno | Cortafuegos de red completo |
Acceso a la capa de aplicação | Ninguno | Autenticación completa y capacidades de SSO |
Algoritmos de distribución de tráfico | 3 | 17 |
aceleración de aplicaciones | Ninguno | Conjunto completo de herramientas de almacenamiento en caché, compresión y manipulación de contenido, incluida la optimización de TCP |
Monitores de salud | 3 | 20+ (incluidos SMTP, base de datos, SNMP, SIP, FTP, DNS) |
Programabilidad de la ruta de datos | Ninguno | F5 iRules® brinda visibilidad y control total de todos los datos de la aplicação |
Cuando se requieren las capacidades avanzadas de un proxy de capa de aplicação completo, la implementación de servicios de entrega de aplicação F5 utilizando el servicio de orquestación OpenStack Heat y las plantillas asociadas puede combinar la creación de servicios simple y automatizada con configuraciones de servicios más complejas.
OpenStack Heat es un servicio de orquestación que genera aplicações en ejecución basadas en plantillas. La plantilla Heat describe la infraestructura en uno o más archivos de texto y el servicio Heat ejecuta las llamadas API adecuadas para crear los componentes necesarios. El servicio Heat se puede ampliar más allá de los módulos principales mediante el uso de complementos personalizados.
El complemento F5 Heat permite que las plantillas Heat creen configuraciones avanzadas de entrega de aplicação en cualquier dispositivo BIG-IP o edición virtual con acceso a la red a la que se pueda acceder desde el servidor que ejecuta el servicio Heat. La instancia BIG-IP también necesitará conectividad y enrutamiento a las instancias de inquilinos, ya que dicha conectividad no está configurada por el complemento Heat.
Las plantillas de calor utilizan un lenguaje de marcado simple, YAML, que está diseñado para ser legible por humanos y fácil de trabajar. Las plantillas de Heat son declarativas, lo que significa que usted simplemente define los componentes de infraestructura deseados y confía en los proveedores subyacentes para crear la configuración que ha definido.
Las plantillas Heat permiten la creación de escenarios de entrega de aplicação más avanzados, especialmente cuando se combinan con el sistema de plantillas F5 iApps®. Las plantillas iApps permiten la creación repetible de configuraciones de entrega de aplicação simplemente pasando la plantilla requerida y los valores específicos de la instancia. Se pueden implementar configuraciones de entrega complejas que utilizan funciones avanzadas como servicios de firewall de aplicação web, aceleración de aplicação y algoritmos avanzados de equilibrio de carga con simples llamadas API .
Las plantillas de calor funcionan con instancias de ediciones virtuales de BIG-IP dentro del entorno de red de inquilino individual ("en la nube"), así como con dispositivos BIG-IP implementados en la red física subyacente. El dispositivo BIG-IP no necesita participar en ninguna llamada API de red Neutron, ya que se lo trata como cualquier otro nodo de cómputo dentro del inquilino.
El complemento F5 Heat está disponible en el repositorio Github de F5 . Este repositorio contiene el complemento Heat (que se instala en el servidor que ejecuta el motor Heat) y plantillas Heat de muestra.
Los servicios de entrega de aplicação de F5 están disponibles en varias plataformas, todas las cuales ofrecen las mismas capacidades de entrega de aplicação , ya que ejecutan el mismo sistema operativo central y el mismo microkernel F5.
Las plataformas de hardware F5 ofrecen alto rendimiento y escalabilidad masiva para entornos que requieren una gran cantidad de clientes o inquilinos o casos de uso de alto rendimiento. Un solo par HA puede brindar servicio a cientos de inquilinos y millones de clientes. Los dispositivos de hardware F5 proporcionan acuerdos de nivel de servicio (SLA) de velocidad de conexión y una descarga significativa para el entorno informático subyacente mediante el uso de hardware especializado para el procesamiento SSL y TCP. Cuando se requieren servicios de seguridad de red y mitigación de denegación de servicio distribuido (DDoS), las plataformas de hardware de F5 ofrecen un rendimiento excelente y altos niveles de protección. La compatibilidad con múltiples espacios de direcciones superpuestos y protocolos de superposición de red permite utilizar dispositivos de hardware en la mayoría de los entornos multiinquilino.
Las ediciones virtuales de F5 BIG-IP están disponibles para la mayoría de los hipervisores (incluido KVM) y para su uso en proveedores de infraestructura como servicio (IaaS) de nube pública, como Amazon AWS y Microsoft Azure. Las ediciones virtuales (VE) de BIG-IP también están disponibles en una variedad de capacidades, desde una edición de laboratorio hasta versiones listas para producción con actualizaciones de pago por crecimiento para rendimientos que van desde 25 Mb a 10 Gb. Las licencias por volumen y los grupos de licencias flexibles permiten la gestión dinámica del ciclo de vida de las instancias de BIG-IP en entornos de prueba y desarrollo. La facturación de servicios públicos también está disponible en entornos de nube pública. Las ediciones virtuales de BIG-IP ofrecen los mismos servicios de entrega de aplicação que las plataformas de hardware, pero carecen del hardware especializado y la escala de los dispositivos.
Las ediciones virtuales de BIG-IP pueden estar completamente contenidas dentro de una red de inquilinos. Considerados por OpenStack simplemente como otra instancia de cómputo, se configuran mediante plantillas Heat o pueden usarse como proveedor para LBaaS.
Caso de uso | Aislamiento de inquilinos | Posibles arquitecturas |
---|---|---|
Configuración de LBaaS, aislamiento de miles de inquilinos, millones de clientes | VLAN, VXLAN o GRE | Plataformas de hardware BIG-IP consolidadas |
Configuración de LBaaS, aislamiento de miles de inquilinos, millones de clientes | GRE, VXLAN | Ediciones virtuales BIG-IP de alto rendimiento, escalables según sea necesario1 |
Configuración de LBaaS, requisitos de escala más bajos | GRE, VXLAN | Ediciones virtuales de BIG-IP de menor rendimiento1 |
Configuración de calor, servicios avanzados de entrega de aplicação | Ninguno | Ediciones virtuales de BIG-IP dentro de un inquilino |
1Consulte la Guía de integración de F5 y OpenStack para obtener información detallada.
Dado que el complemento F5 LBaaS puede admitir múltiples instancias de agente y controlador F5, es posible combinar dispositivos de hardware y ediciones virtuales de BIG-IP dentro de la misma configuración LBaaS.
Como ocurre con todas las decisiones arquitectónicas, la opción correcta es la que mejor se adapta a los requisitos individuales de la solución. Se pueden crear soluciones escalables y de alto rendimiento utilizando hardware BIG-IP o ediciones virtuales. Los requisitos generales de escala y servicios deberían ayudar a guiar a los arquitectos de infraestructura hacia el hardware, el software o una combinación de ambos. Para un consumidor o inquilino que solo desea prestar servicios, la elección entre LBaaS o Heat es más importante que la plataforma de prestación en sí.
La alta disponibilidad es clave en las pilas de aplicação y redes de misión crítica y, como se esperaba, la plataforma BIG-IP tiene una arquitectura de alta disponibilidad sólida. Los dispositivos BIG-IP y las ediciones virtuales se pueden implementar como dispositivos independientes (por ejemplo, para entornos de prueba y desarrollo), pares de alta disponibilidad o en grupos de dispositivos activos N-way de hasta cuatro dispositivos. Todos estos tipos de implementación son compatibles con las plataformas OpenStack.
Poder agregar capacidad adicional a LBaaS o a los recursos BIG-IP de los inquilinos permite a los administradores o inquilinos hacer frente a los aumentos en el rendimiento de las aplicação o en la cantidad de inquilinos. Escalar verticalmente o horizontalmente sin interrumpir los servicios es esencial para construir una nube ágil y escalable.
La plataforma BIG-IP puede escalar tanto vertical como horizontalmente: Los dispositivos y las ediciones virtuales pueden escalar mediante actualizaciones de licencia, y el chasis VIPRION puede escalar mediante la incorporación de blades de hardware adicionales. El complemento BIG-IP LBaaS administrará múltiples agentes y controladores (cada uno de los cuales administra una única instancia o clúster de BIG-IP), lo que permite una escala horizontal. Cuando se utilizan varios agentes, el complemento F5 LBaaS mantendrá, de manera predeterminada, todos los objetos del balanceador de carga LBaaS para un inquilino en particular asignado a un dispositivo (o clúster) BIG-IP.
Al utilizar instancias de BIP-IP VE dentro de un inquilino, las instancias se pueden volver a ampliar a través de una licencia o se pueden agregar instancias adicionales para cubrir nuevas cargas de trabajo.
A medida que las implementaciones de OpenStack albergan cada vez más aplicações de producción críticas, crece la necesidad de servicios de entrega de aplicação robustos y de alta calidad dentro de OpenStack. Los servicios de entrega de aplicação de F5 brindan la capacidad, la seguridad y las capacidades avanzadas que estas aplicações críticas necesitan, junto con la agilidad y la baja sobrecarga operativa que ofrece una nube impulsada por OpenStack.
Documentación de F5 OpenStack
Guía de integración de F5 OpenStack