DOCUMENTO TÉCNICO

Automatización de los servicios de aplicaciones F5: una guía práctica

Published May 13, 2019
  • Share via AddThis

Introducción

La automatización de la gestión de la implementación y la configuración de la entrega de aplicaciones y dispositivos de seguridad se ha convertido en una práctica casi obligatoria. En el informe de IDG de 2017 FutureScape, la automatización y la gestión de multinube se clasificaron como algunas de las iniciativas clave que afectarán a las empresas en 2021.1 La automatización aporta capacidad de escalado, fiabilidad e integración a la implementación de los servicios esenciales de seguridad, optimización y disponibilidad que necesitan las aplicaciones, y hace que su entrega forme parte de los flujos de trabajo orquestados de construcción, prueba e implementación que están emergiendo como el modelo dominante de implementación de aplicaciones.

Incluso la automatización sencilla de tareas básicas como añadir nuevos servidores virtuales o miembros de un conjunto puede permitir que las operaciones proporcionen capacidad de autoservicio a los propietarios de aplicaciones u otros sistemas automatizados, así como tiempo libre para un trabajo más productivo, como la creación de la siguiente ola de herramientas de automatización.

La necesidad de automatizar adquiere una importancia aún mayor cuando una organización comienza a adoptar múltiples plataformas en la nube para prestar servicios de TI. Cuando se intenta implementar servicios en varias ubicaciones con diferentes características de plataforma, la automatización puede ayudar a reducir el impacto del aumento de la sobrecarga operativa y a reducir los errores debidos a la falta de familiaridad con las nuevas plataformas.

Pero, ¿cómo y qué automatizar? Con diferentes modelos de operaciones, interfaces e idiomas, el software de automatización puede funcionar en una sola capa de dispositivo, o como herramientas más complejas y multisistémicas. Las plataformas de nube de infraestructura como servicio (IaaS) ofrecen sus propias herramientas nativas para implementar infraestructura y servicios virtuales. Además, F5 ofrece una gama de interfaces y opciones de orquestación. Si bien esta variedad de herramientas y opciones le brinda la oportunidad de automatizar de la manera que mejor se adapte a su organización, la elección de la herramienta adecuada puede ser una tarea desalentadora, y el riesgo de complejidad y proliferación de herramientas es real.

En este documento, le proporcionaremos una visión general de las formas en que puede automatizar la implementación, la gestión y la configuración de los dispositivos F5 BIG-IP (tanto físicos como virtuales), junto con algunos consejos sobre cómo elegir el camino adecuado para su empresa.

El ciclo de vida de la automatización

Hay una serie de puntos clave de automatización en el ciclo de vida de la prestación de servicios de aplicaciones. Dependiendo del modelo de infraestructura y de los métodos de implementación de aplicaciones, es posible que necesite desarrollar todos o sólo algunos de ellos.

Si va a implementar servicios en un BIG-IP físico o virtual de alta capacidad multitenant, entonces las actividades de bootstrap e integración no serán una prioridad, en comparación con la implementación, monitorización y actualización de las configuraciones de los servicios de aplicaciones para los cientos o miles de aplicaciones que soportan.

Si se trata de un modelo de implementación en el que cada aplicación tiene instancias BIG-IP dedicadas en múltiples entornos (incluidas las instancias potencialmente efímeras creadas bajo demanda para pruebas y control de calidad), la automatización de los procesos de bootstrap y de integración forma parte del método fundamental, al igual que la implementación de los propios servicios de aplicación.

Figura 1. Los diferentes elementos del ciclo de vida de la automatización pueden tener mayor o menor prioridad dependiendo del modelo de infraestructura de su organización y de los métodos de implementación de aplicaciones.

Cualquiera que sea su entorno y la cantidad de procesos que necesite automatizar, hay algunos temas clave que debe considerar.

Automatización: algunas consideraciones clave

El espectro de madurez de la automatización

La automatización cubre una amplia gama de actividades. En un extremo del espectro está el desarrollo de scripts simples escritos en Bash, TMSH, Python, u otros lenguajes que podrían ejecutarse localmente para acelerar las actividades de configuración manual. En el otro extremo del espectro se encuentra un sistema completo de “infraestructura como código” que combina la gestión del código fuente, orquestadores de flujos de trabajo y (potencialmente) múltiples herramientas de automatización para crear un sistema en el que la configuración de la infraestructura se define y se modifica con archivos de texto contenidos en un repositorio. Entre estos dos extremos se encuentran una serie de opciones diferentes para ayudarle a gestionar la implementación y la configuración de una plataforma BIG-IP.

Figura 2. Los diferentes niveles de automatización implican una gama de actividades diferentes, que van desde simples scripts hasta complejas integraciones de múltiples flujos de trabajo automatizados.

Mutables vs. inmutables

La mayoría de las implementaciones actuales de BIG-IP pueden considerarse mutables, lo que significa que podemos esperar que su configuración cambie con el tiempo. Esto se debe a que la plataforma BIG-IP se implementa principalmente como un dispositivo multitenant que proporciona servicios a múltiples aplicaciones. A medida que se implementan nuevas aplicaciones (o que las aplicaciones existentes escalan o requieren servicios adicionales), la configuración del BIG-IP se actualizará para corresponder. Este método de implementación permite a los equipos de infraestructura gestionar un conjunto de infraestructuras centralizadas, que proporcionan servicios a las aplicaciones desde una plataforma común.

Sin embargo, a veces las plataformas BIG-IP se despliegan como parte de una pila de aplicaciones discretas, donde los servicios de un BIG-IP en particular están vinculados a una aplicación o servicio específico. En esta situación, podríamos decir que la configuración de BIG-IP es inmutable; es decir, la configuración se instala en el arranque, o como parte de la imagen de software, y no se cambia durante el ciclo de vida de la instancia de BIG-IP. Los cambios de configuración se efectúan modificando la imagen de software o iniciando el contenido del script del agente y, a continuación, redistribuyéndolo. A este modelo a menudo se le llama “nuke and pave”. Aunque menos común en general, la disponibilidad de nuevos modelos de licencias de BIG-IP para soportar instancias por aplicación, herramientas de licencia mejoradas y herramientas como librerías de nube de F5 (un conjunto de scripts y librerías Node.js diseñados para ayudarle a bordo de un BIG-IP en una nube) están haciendo de este modelo de implementación una opción viable para las organizaciones que requieren que una aplicación tenga una pila de código e infraestructura aislada y estrechamente unida.

Figura 3. Las instancias de BIG-IP inmutables no se modifican a lo largo de su ciclo de vida; en su lugar, se implementa una instancia nueva y actualizada, y se elimina la instancia anterior. Por el contrario, las instancias de BIG-IP mutables pueden estar sujetas a cambios de configuración durante su ciclo de vida.

Imperativo vs. declarativo

Existen dos modelos conceptuales de cómo las interfaces de automatización están expuestas a los consumidores. Los esquemas de automatización de “primera ola” más comunes tienden hacia un modelo imperativo. En los modelos de automatización imperativos, el consumidor de automatización normalmente necesita saber tanto lo que quiere conseguir como los pasos explícitos (normalmente mediante llamadas a la API) para conseguirlo. Esto hace que el peso de entender los detalles de configuración de los servicios avanzados, así como la complejidad y el esfuerzo adicional para integrar los servicios con las herramientas de automatización, recaiga en el consumidor. Es como pedir un bocadillo especificando cada una de las operaciones necesarias para hacerlo, en lugar de simplemente pedir un bocadillo con la expectativa de que el que hace el bocadillo sepa los pasos (y el orden de los pasos) necesarios para hacer uno.

Por el contrario, una interfaz declarativa permite a los consumidores (humanos o máquinas) crear servicios pidiendo lo que quieren. No es necesario un conocimiento detallado de todos los pasos necesarios, ya que el objetivo de automatización tiene los flujos de trabajo preconfigurados o las plantillas de servicio para crear la configuración basada en los resultados requeridos. Mientras que una interfaz declarativa implica una configuración inicial un poco más compleja, esa complejidad se ve compensada por la simplicidad de operación una vez que se construyen las plantillas de servicio adecuadas. Esto lo convierte, en general, en el mecanismo preferido para construir sistemas de automatización.

Directamente o a través de una herramienta de gestión

Otra decisión que deberá tener en cuenta es si las llamadas a la API de automatización deben realizarse desde herramientas de terceros directamente al dispositivo que necesita ser modificado o a través de una herramienta de gestión adicional. Las herramientas de gestión pueden abstraer y simplificar las operaciones y pueden ofrecer capas adicionales de control y registro frente a una conexión directa con la entidad gestionada. Sin embargo, tendrá que asegurarse de que sus capas de gestión estén altamente disponibles en situaciones en las que la capacidad de realizar cambios rápidamente es crítica.

Figura 4: Las herramientas de gestión pueden simplificar las llamadas de automatización y el registro, pero a veces conllevan un compromiso en cuanto a la granularidad y disponibilidad de la gestión en comparación con la realización de una llamada directa a la entidad gestionada.

¿API, agente de inicio o CLI?

Los dispositivos BIG-IP suelen automatizarse a través de la API REST, que presenta la mayor parte de la funcionalidad BIG-IP a través de un esquema documentado. Los módulos suministrados por F5 para herramientas de automatización como Ansible hacen un uso extensivo de la API REST. La adición de la capacidad de iControl LX también permite la creación de un punto final de API definido por el usuario que puede realizar una operación de varios pasos desde una sola llamada de API.

Otra forma común de automatizar la configuración de BIG-IP es utilizar agentes de arranque, que se ejecutan al inicio y pueden obtener información externa para configurar la plataforma BIG-IP. Los agentes de arranque se utilizan a menudo para realizar la configuración inicial de los dispositivos “onboard” y pueden obtener scripts adicionales y archivos de configuración de sitios de terceros como GitHub o su propio repositorio. Los agentes de inicio también se pueden utilizar para configurar completamente una plataforma BIG-IP, especialmente si ha elegido una configuración fija por aplicación.

La configuración de inicio más común es cloud-init, que está habilitada en todas las imágenes BIG-IP VE (excepto en Microsoft Azure), pero es la más adecuada para su uso en implementaciones AWS y OpenStack. Junto con cloud-init, F5 proporciona una serie de librerías de arranque en nube para ayudar a configurar BIG-IP en el arranque.

Si decide utilizar agentes de inicio para configurar una plataforma después del arranque, preste especial atención a la gestión de fallos. Esto es especialmente importante si se utilizan fuentes externas, especialmente cuando una instancia puede lanzarse como parte de un evento de escalamiento. Si los recursos externos no están disponibles, ¿cómo se comportará el sistema? ¿Se crearán dispositivos “zombies” adicionales para tratar de mantener el ritmo de la demanda?

En algunos casos, los sistemas de automatización pueden comportarse como usuarios y ejecutar comandos CLI. Si bien esto puede ocasionalmente resolver algunos problemas en los que las llamadas a la API pueden no estar completas, en general la dificultad de soporte y la fragilidad de la solución hacen de este método el último recurso.

Plantillas y libros técnicos

Las plantillas y los libros técnicos pueden crear implementaciones automatizadas y construir infraestructuras que tengan un cierto grado de estandarización. El nivel apropiado de estandarización hace que su infraestructura sea más robusta y compatible. Las plantillas bien creadas ofrecen una interfaz declarativa, donde la entidad solicitante (usuario o máquina) sólo necesita conocer las propiedades que necesita, y no los detalles de implementación. La implementación estricta a través de plantillas y la reparación sólo a través de la corrección de plantillas puede conducir a un servicio de mayor calidad, ya que los problemas por lo general sólo tienen que solucionarse una vez. Los servicios se redistribuyen desde la nueva plantilla, y las actualizaciones realizadas en la plantilla evitan que el mismo problema se produzca por segunda vez.

Integraciones de plataformas

Las herramientas de integración de plataformas vinculan la configuración de los servicios de BIG-IP a plataformas como la nube privada o los sistemas de gestión de contenedores. Los mecanismos varían según las plataformas y las implementaciones, pero generalmente se dividen en tres modelos:

  • Sustitución de servicios de F5 en una construcción de plataforma existente
    En este modelo, los servicios de F5 se insertan utilizando una construcción de plataforma existente, como el uso de F5 como enrutador de plataforma de contenedores OpenShift o el uso de F5 con el sistema OpenStack Load Balancing as a Service (LBaaS). El uso de estos mecanismos requiere pocos cambios en los procedimientos operativos, ya que se utiliza una interfaz nativa de la plataforma para configurar los servicios, y el controlador suministrado y otros programas informáticos traducen las directivas de configuración de la plataforma a una configuración de F5 sin problemas. Recuerde, sin embargo, que sólo las características que están disponibles a través de la interfaz nativa de la plataforma pueden ser fácilmente desplegadas.
  • Suscripción a eventos de plataforma
    Otro método común de integración es que un módulo de software (como el Container Connector para Kubernetes y para Mesos) se suscriba a eventos dentro de una plataforma y luego modifique una configuración basada en los eventos. Puede seleccionar qué eventos y servicios implementar etiquetando las aplicaciones a las que se debe prestar servicio y configurando el software del conector para que supervise los eventos con las etiquetas necesarias.
  • Integración con herramientas de gestión de plataformas
    Muchas plataformas privadas de nube tienen sistemas de gestión diseñados para la automatización. VMware, por ejemplo, tiene varias herramientas de gestión e integración, incluyendo vRealize Orchestrator (vRO) para el que existe un complemento de terceros para la configuración de BIG-IP. Otros ejemplos incluyen el complemento para el sistema de plantillas OpenStack HEAT.

Descubrimiento de servicios

Aunque no es una solución de automatización completa, la detección de servicios es una forma sencilla y potente de integrar configuraciones de BIG-IP con los cambios en el entorno. La detección de servicios funciona mediante sondeos periódicos del sistema en la nube a través de API para recuperar una lista de recursos y modificar la configuración de BIG-IP en consecuencia. Esto es especialmente útil en entornos en los que los recursos están configurados en grupos de escala automática, ya que para escalar el recurso informático de back-end es necesario que el equilibrador de carga esté al tanto de los nuevos recursos. Los componentes de descubrimiento de servicios se suministran con soluciones de escala automática de nubes de F5 para AWS y Azure.

Por lo tanto, ¿existe un esquema de automatización recomendado por F5? Sí y no. Hay tantas variables a considerar que un asesoramiento totalmente prescriptivo no es útil. Sin embargo, hemos reunido los elementos clave que creemos que necesitará para formar una familia de productos coordinada.

F5 Automation Toolchain

La familia de productos de F5 Automation Toolchain comprende los componentes básicos de automatización y orquestación que le permiten integrar las plataformas F5 BIG-IP en patrones de automatización comunes, como las cadenas de herramientas CI/CD.

F5 Automation Toolchain contiene los siguientes componentes clave:

  • Extensión Application Services 3 (AS3): servicios de aplicaciones BIG-IP declarativos de L4-L7.
  • Extensión Declarative Onboarding (DO): incorporación de BIG-IP declarativa de L1-L3.
  • Extensión Telemetry Streaming (TS): transmisión automática de telemetría BIG-IP a los sistemas de análisis.
  • API Services Gateway (ASG): tiempo de ejecución del contenedor para extensiones iControl LX personalizadas.

La familia Automation Toolchain está diseñada para gestionar el ciclo de vida de entrega de los servicios de aplicaciones, desde la implementación de la plataforma (a través de plantillas de nube) hasta la integración, configuración de servicios y telemetría y registro avanzados para garantizar el rendimiento de las aplicaciones durante su vida útil.

Figura 5. La familia Automation Toolchain proporciona herramientas para gestionar todo el ciclo de vida de la aplicación.

Esta creciente familia de herramientas compatibles representa la dirección futura de la automatización de los servicios de aplicaciones de F5; pero esto no significa que no existan otras integraciones o que no sean compatibles. Consulte la sección “Otras herramientas de automatización” de este documento.

Application Services 3 Extension

F5 Applications Services 3 Extension (AS3) proporciona una forma simple y consistente de automatizar el despliegue de servicios de aplicaciones de capa 4-7 en la plataforma BIG-IP a través de una API REST declarativa. AS3 utiliza un modelo de objeto bien definido representado como un documento JSON. La interfaz declarativa hace que la gestión de las implementaciones de servicios de aplicaciones de F5 sea fácil y fiable.

Figura 6. F5 Applications Services 3 Extension (AS3) proporciona una forma simple y consistente de automatizar el despliegue de servicios de aplicaciones de capa 4-7 en la plataforma BIG-IP a través de una API REST declarativa. AS3 utiliza un modelo de objeto bien definido representado como un documento JSON. La interfaz declarativa hace que la gestión de las implementaciones de servicios de aplicaciones de F5 sea fácil y fiable.

Diagrama: la arquitectura de AS3

La extensión AS3 admite y analiza las declaraciones y realiza las llamadas a la API iControl apropiadas para crear el estado final deseado en la BIG-IP de destino. La extensión puede ejecutarse en la instancia de BIG-IP o a través de AS3 Container, un contenedor/VM separado que ejecuta la extensión AS3, y luego realiza llamadas externas de API a la BIG-IP.

Figura 7. La extensión AS3 admite y analiza las declaraciones y realiza las llamadas a la API iControl apropiadas para crear el estado final deseado en la BIG-IP de destino. La extensión puede ejecutarse en la instancia de BIG-IP o a través de AS3 Container, un contenedor/VM separado que ejecuta la extensión AS3, y luego realiza llamadas externas de API a la BIG-IP.

Las llamadas de AS3 también se pueden realizar a través de BIG-IQ, que proporciona licencias, gestión, visualización y control de acceso para plataformas BIG-IP, y alimenta la F5 Cloud Edition, que proporciona instancias bajo demanda por aplicación de BIG-IP combinadas con potentes análisis.

Figura 8. Las llamadas de AS3 también se pueden hacer a través de BIG-IQ.

Extensión Declarative Onboarding

La extensión Declarative Onboarding proporciona una interfaz sencilla para llevar una plataforma F5 BIG-IP desde justo después del arranque inicial hasta que esté lista para desplegar la seguridad y la gestión del tráfico para las aplicaciones. Esto incluye configuraciones del sistema tales como licencias y aprovisionamiento, configuraciones de red tales como VLAN y Auto IP, y configuraciones de clustering si está utilizando más de un sistema BIG-IP.

Una vez finalizado el proceso de incorporación, los servicios de aplicación se pueden implementar utilizando el proceso de automatización (o manual) que usted seleccione.

Declarative Onboarding utiliza un esquema JSON coherente con el esquema de AS3 y tiene una arquitectura similar. Declarative Onboarding se suministra como un RPM independiente de TMOS, que se instala en una BIG-IP recién arrancada durante el primer paso de la fase de incorporación.

Extensión Telemetry Streaming

BIG-IP es un poderoso generador de aplicaciones, seguridad y telemetría de red. La extensión Telemetry Streaming proporciona una interfaz declarativa para configurar el streaming de estadísticas y eventos a consumidores de terceros, como por ejemplo:

  • Splunk
  • Azure Log Analytics
  • AWS CloudWatch
  • AWS S3
  • Graphite

Al igual que con los otros miembros de la familia Automation Toolchain, la configuración se gestiona a través de una interfaz declarativa utilizando un esquema JSON sencillo y coherente.

API Services Gateway

API Services Gateway es una imagen de contenedor Docker que permite que las extensiones iControl LX personalizadas se ejecuten en una plataforma independiente de TMOS. Esto puede ayudarle a escalar y gestionar sus implementaciones de F5 al abstraer las operaciones de gestión de las plataformas BIG-IP individuales.

Plantillas de nube: parte de la solución pero no parte de la familia (todavía)

Las plantillas de nube utilizan las funciones de automatización de la implementación de nubes públicas y privadas para aprovisionar y arrancar dispositivos virtuales BIG-IP.

F5 actualmente admite plantillas para las siguientes nubes:

F5 está desarrollando activamente las plantillas de nube para cubrir una gama más amplia de escenarios de implementación. Envíe sus problemas o solicitudes a través del repositorio github correspondiente.

Herramientas de orquestación y flujo de trabajo y entrega/implementación continua

Los servicios de aplicación son sólo una de las capas de la pila de tecnología que crea una aplicación funcional. La integración, construcción e implementación de todos los componentes para llevar una aplicación desde el compromiso de elaboración del código hasta la implementación y supervisión operativa implica un gran número de pasos dependientes, que necesitan ejecutarse en el orden correcto. Automatizar esta tarea es el trabajo de las herramientas de orquestación que crean canales de flujo de trabajo de tareas y herramientas coordinadas.

La mayoría de las distribuciones comienzan con un repositorio de código fuente que contiene el código para la aplicación, las pruebas y la configuración de la infraestructura.

Con herramientas como AS3, plantillas de nube y la extensión Declarative Onboarding, puede almacenar toda la información de configuración necesaria para crear y configurar servicios de aplicaciones como parte de un canal de implementación.

En arquitecturas que utilizan plataformas de hardware o software de BIG-IP de larga duración multitenant, sólo necesitará la configuración de AS3 gestionada como parte del repositorio de código de una aplicación. Por el contrario, en los escenarios en los que desee iniciar instancias dedicadas bajo demanda como parte del proceso de implementación, la gestión de plantillas y declaraciones Declarative Onboarding deben formar parte de su repositorio de aplicaciones.

Otras herramientas de automatización: una guía de recursos

Aunque no podemos cubrir todas las herramientas de automatización u orquestación imaginables, a continuación encontrará una lista de las herramientas, casos de uso y funciones más comunes utilizadas por los clientes de F5.

Integraciones de idiomas

Idioma

Estado

Ejemplos y fuente

Python Contribución de F5 https://github.com/F5Networks/f5-common-python
Ir

Contribución del usuario

https://github.com/f5devcentral/go-bigip

PowerShell

Compatible con F5

https://devcentral.f5.com/wiki/icontrol.powershell.ashx

Herramientas de gestión de la configuración y automatización de la infraestructura

Herramienta

Estado

Ejemplos y fuente

Ansible

Contribución de F5

https://github.com/F5Networks/f5-ansible

Terraform

Contribución de F5

https://github.com/f5devcentral/terraform-provider-bigip

Puppet

Contribución de F5

https://github.com/f5devcentral/f5-puppet

Chef

Contribución del usuario

https://github.com/target/f5-bigip-cookbook

SaltStack

Terceros

https://docs.saltstack.com/en/latest/ref/runners/all/salt.runners.f5.html

Sistemas de plantillas de infraestructura

Plataforma

Estado

Ejemplos y fuente

AWS

Compatible con F5

https://github.com/F5Networks/f5-aws-cloudformation

Azure

Compatible con F5

https://github.com/F5Networks/f5-azure-arm-templates

Google

Compatible con F5

https://github.com/F5Networks/f5-google-gdm-templates

OpenStack

Compatible con F5

https://github.com/F5Networks/f5-openstack-hot

Agentes de arranque y scripts de nube

Cloud-init

https://devcentral.f5.com/articles/f5-in-aws-part-5-cloud-init-single-nic-and-scale-out-of-big-ip-in-v12-21476

Cloud libs

https://github.com/F5Networks/f5-cloud-libs

Integraciones de plataformas

Plataformas de gestión de contenedores

Plataforma

Estado

Ejemplos y fuente

Kubernetes

Compatible con F5

https://github.com/F5Networks/k8s-bigip-ctlr

Pivotal Cloud Foundry

Compatible con F5

https://github.com/F5Networks/cf-bigip-ctlr

Marathon

Compatible con F5

https://github.com/F5Networks/marathon-bigip-ctlr

Red Hat OpenShift

Compatible con F5

https://hub.docker.com/r/f5networks/k8s-bigip-ctlr   o

https://access.redhat.com/containers/?tab=tags#/registry.connect.redhat.com/f5networks/k8s-bigip-ctlr

Plataformas de nube privada

Plataforma

Estado

Ejemplos y fuente

OpenStack (LBaaS)

Compatible con F5

https://github.com/F5Networks/f5-openstack-lbaasv2-driver

OpenStack (Heat)

Compatible con F5

https://github.com/F5Networks/f5-openstack-hot

VMWare (vRO)

Terceros

https://bluemedora.com/products/f5/big-ip-for-vrealize-operations/

Una nota sobre herramientas de orquestación y flujo de trabajo

Las herramientas e integraciones anteriores representan formas automatizadas de implementar y configurar la plataforma BIG-IP para proporcionar disponibilidad de aplicaciones, seguridad y servicios de escalado. Estos servicios, por esenciales que sean, constituyen sólo una parte del despliegue de una aplicación de pila completa. Crear una pila completa de aplicaciones con los servidores, los datos, el código de aplicación compilado y la infraestructura de forma coordinada y probada requiere algo más que una simple herramienta de automatización.

Necesitará una herramienta de orquestación de mayor nivel, con flujos de trabajo asociados e integraciones con varios sistemas de automatización. Estas herramientas son las más utilizadas en las prácticas de trabajo de Integración continua/Entrega continua (CI/CD), para las que se requiere la automatización en todas las implementaciones prácticas. Aunque existen varias herramientas de orquestación, Jenkins es quizás la más común, y hay ejemplos de flujos de trabajo disponibles que muestran cómo puede utilizar Jenkins, F5 y Ansible para incorporar capacidades de infraestructura como código de F5 en un flujo de trabajo de CI/CD. En general, sin embargo, la herramienta de orquestación funcionará a través de una de las herramientas de automatización de la configuración para realizar cambios e implementar servicios.

Licencias

Las plataformas BIG-IP requieren licencias para funcionar, por lo que es útil incluir las licencias en el camino crítico de la automatización. En entornos altamente dinámicos en los que los dispositivos virtuales BIG-IP pueden necesitar ser rápidamente ampliados o reducidos, o creados con fines de prueba y desarrollo, los modelos de licencia deben ser considerados cuidadosamente.

En la nube pública, una vía es utilizar las versiones de facturación de servicios públicos de BIG-IP (disponible a través de los mercados de la nube). Las instancias de facturación de servicios públicos se autolicenciarán, y los costes se cobrarán a través del proveedor de nube en base a un compromiso de pago por uso o de tiempo.

Otra opción es utilizar grupos de licencias reutilizables adquiridas mediante suscripción (o perpetuamente) junto con el Administrador de licencias de F5 BIG-IQ, que le permitirá asignar y revocar licencias de un grupo.

Puede automatizar los pasos de licencia a través de agentes de inicio y llamadas de API, que requerirán acceso saliente de Internet al servidor de licencias de F5 (incluso en el caso de licencias de servicios públicos en plataformas de nube).

¿Qué usar y cuándo?

Dependiendo de su organización, elegir las herramientas de automatización y orquestación adecuadas puede ser muy fácil o una tarea difícil. Es fácil si ya ha adoptado una herramienta o metodología para otros componentes y sólo necesita integrar BIG-IP en el sistema. Incluso sin integración en una herramienta en particular, la API iControl REST combinada con las capacidades de iControl LX y el Cloud Init hacen que la integración de BIG-IP en una herramienta de automatización existente sea relativamente sencilla (especialmente si se combina con plantillas iApp, que se pueden utilizar para crear incluso una configuración compleja con una sola llamada de API).

Sin embargo, si está empezando de cero, las cosas pueden ser más complejas. Al igual que la selección de cualquier otra solución, la comprensión de sus necesidades debe ser lo primero. Si bien este documento no puede elaborar su lista de requisitos, a continuación le presentamos un conjunto de preguntas y recomendaciones que le ayudarán a realizar su evaluación.

Modelo de automatización: Un modelo declarativo será mucho más sencillo para que los consumidores interactúen con su orquestación. Los consumidores solo necesitan saber lo que quieren, en lugar de todos los pasos del procedimiento para llegar allí. La familia de herramientas de automatización de F5 representará la implementación del “modelo” para los sitios nuevos que avancen.

Plataformas y entornos potenciales: Es inevitable que los contenedores y una serie de plataformas de nube sean una parte clave de la infraestructura de la aplicación: planifique en consecuencia.

Habilidades: ¿Ya cuenta con habilidades en algunas de las tecnologías subyacentes? Tenga en cuenta que estas habilidades pueden existir fuera de su departamento, pero dentro de su negocio como un todo. Si es así, podría tener sentido elegir una herramienta que utilice un lenguaje que su organización ya haya adoptado.

Compatibilidad: Construya únicamente sistemas que usted pueda admitir. Esto puede parecer obvio, pero una clave del éxito es elegir el nivel de complejidad que puede ofrecer dentro de su organización, de modo que pueda maximizar los beneficios de la automatización sin causar un exceso de gastos operativos.

Conclusión

El aumento de la automatización de los sistemas de TI es inevitable. Adoptar un enfoque estratégico para la entrega de aplicaciones clave y los servicios de seguridad garantizará que las aplicaciones que su organización implementa se mantengan seguras y disponibles. La automatización también puede ayudar a reducir sus gastos operativos, especialmente cuando trabaja en múltiples plataformas y nubes públicas.

Elegir el sistema de automatización adecuado puede ser todo un reto, y lo ideal es que se haga como un esfuerzo colaborativo y holístico con vistas a los conjuntos de habilidades disponibles para usted, así como su capacidad para dar soporte al sistema que construye. Cualquiera que sea la solución que elija, puede estar seguro de que la plataforma BIG-IP y la experiencia en F5 estarán disponibles para ayudarle a ofrecer los servicios de nivel empresarial en los que confían sus aplicaciones, sin importar dónde se implementen.

Una nota sobre el soporte de F5. F5 proporciona soporte para varias, pero no todas, las plantillas y herramientas. Cuando el software está disponible en Github, el código con soporte se encuentra sólo en las carpetas que cuentan con soporte de los repositorios de F5. El resto de software tendrá las políticas de soporte definidas en los archivos readme correspondientes.