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

Introducción

La automatización del despliegue y la gestión de la configuración de los dispositivos de entrega y seguridad de aplicaciones se ha convertido en una práctica prácticamente obligatoria. En el informe de IDG de 2017 FutureScape se señalaban la automatización y la gestión multicloud como algunas de las iniciativas clave que afectarían a las empresas de aquí a 2021.1 La automatización aporta escalabilidad, fiabilidad e integración al despliegue de los servicios esenciales de seguridad, optimización y disponibilidad que necesitan las aplicaciones, e incorpora su entrega a los flujos de trabajo orquestados de compilación, prueba y despliegue que se están consolidando como el modelo predominante de despliegue de aplicaciones.

Incluso una automatización sencilla de tareas básicas, como añadir nuevos servidores virtuales o miembros a un pool, puede permitir que el equipo de operaciones ofrezca funciones de autoservicio a los propietarios de las aplicaciones o a otros sistemas automatizados, además de liberar tiempo para trabajos más productivos, como desarrollar la próxima generación de herramientas de automatización.

La necesidad de automatizar cobra aún más importancia cuando una organización empieza a adoptar varias plataformas en la nube para prestar servicios de TI. Al intentar desplegar servicios en varias ubicaciones con plataformas de distintas características, la automatización puede ayudar a reducir el impacto del aumento de la carga operativa y a disminuir los errores derivados de la falta de familiaridad con las nuevas plataformas.

Pero ¿qué se debe automatizar y cómo? Dados los distintos modelos operativos, interfaces y lenguajes, el software de automatización puede funcionar en la capa de un único dispositivo o como herramientas multisistema más complejas. Las plataformas en la nube de infraestructura como servicio (IaaS) ofrecen sus propias herramientas nativas para implementar infraestructuras y servicios virtuales. Además, F5 ofrece diversas interfaces y opciones de orquestación. Aunque esta amplia variedad de herramientas y opciones le permite automatizar de la forma que mejor se adapte a su organización, elegir la herramienta adecuada puede ser una tarea abrumadora, y el riesgo de que aumenten la complejidad y la proliferación de herramientas es real.

En este documento, ofreceremos 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 para elegir la opción más adecuada para su empresa.

El ciclo de vida de la automatización

Existen varios puntos clave de automatización en el ciclo de vida de la prestación de servicios de aplicaciones. En función de su modelo de infraestructura y de los métodos de despliegue de aplicaciones, puede que necesite desarrollar todos ellos o solo algunos.

Si implementa servicios en un BIG-IP físico o virtual multiinquilino y de alta capacidad, las actividades de arranque e incorporación no serán tan prioritarias como la implementación, la supervisión y la actualización de las configuraciones de los servicios de aplicaciones para los cientos o miles de aplicaciones que admite.

Si está considerando un modelo de despliegue en el que cada aplicación dispone de instancias BIG-IP dedicadas en varios entornos —incluidas posibles instancias efímeras creadas bajo demanda para pruebas y control de calidad—, automatizar los procesos de arranque e incorporación resulta tan esencial como desplegar los propios servicios de la aplicación.

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

Sea cual sea su entorno y el número de procesos que necesite automatizar, hay algunos aspectos clave que debe tener en cuenta.

Automatización: algunas consideraciones clave

El espectro de madurez de la automatización

La automatización abarca una amplia variedad de actividades. En un extremo del espectro se encuentra el desarrollo de scripts sencillos escritos en Bash, TMSH, Python u otros lenguajes, que pueden ejecutarse localmente para agilizar las tareas de configuración manual. En el otro extremo 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, varias herramientas de automatización para crear un sistema en el que la configuración de la infraestructura se define y modifica mediante archivos de texto almacenados en un repositorio. Entre ambos extremos existen diversas opciones que le ayudarán a gestionar la implementación y configuración de una plataforma BIG-IP.

Figura 2. Los distintos niveles de automatización implican diversas actividades, desde scripts sencillos hasta integraciones complejas de múltiples flujos de trabajo automatizados.

Mutable frente a inmutable

La mayoría de las implementaciones actuales de BIG-IP podrían considerarse mutables, lo que significa que cabe esperar que su configuración cambie con el tiempo. Esto se debe a que la plataforma BIG-IP se implementa principalmente como un dispositivo multiinquilino que presta servicios a varias aplicaciones. A medida que se implementan nuevas aplicaciones —o que las existentes se amplían o requieren servicios adicionales—, la configuración de BIG-IP se actualiza en consecuencia. Este método de implementación permite a los equipos de infraestructura gestionar un conjunto de infraestructura centralizada que presta servicios a las aplicaciones desde una plataforma común.

Sin embargo, a veces las plataformas BIG-IP se implementan como parte de una pila de aplicaciones independiente, en la que los servicios de un BIG-IP concreto están vinculados a una aplicación o servicio específicos. En esta situación, podríamos considerar la configuración de BIG-IP como inmutable; es decir, la configuración se instala durante el arranque o como parte de la imagen de software, y no se modifica durante el ciclo de vida de la instancia de BIG-IP. Los cambios de configuración se realizan modificando la imagen de software o el contenido del script del agente de inicio y, a continuación, volviendo a implementar la instancia. Este modelo suele denominarse «nuke and pave». Aunque en general es menos habitual, la disponibilidad de nuevos modelos de licencia de BIG-IP compatibles con instancias por aplicación, herramientas de gestión de licencias mejoradas y herramientas como F5 cloud libs (https://github.com/F5Networks/f5-cloud-libs) (un conjunto de scripts y bibliotecas de Node.js diseñados para ayudar a incorporar un BIG-IP a un entorno de nube) están convirtiendo este modelo de implementación en una opción viable para las organizaciones que necesitan que una aplicación disponga de una pila aislada y estrechamente integrada tanto de código como de infraestructura.

Figura 3. Las instancias inmutables de BIG-IP 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 antigua. En cambio, las instancias mutables de BIG-IP pueden experimentar cambios de configuración durante su ciclo de vida.

Imperativo frente a declarativo

Existen dos modelos conceptuales para exponer las interfaces de automatización a los consumidores. Los esquemas de automatización más habituales de la «primera oleada» suelen adoptar un modelo imperativo. En los modelos de automatización imperativos, el consumidor de la automatización normalmente necesita saber tanto qué quiere conseguir como los pasos concretos (por lo general, mediante llamadas a la API) necesarios para lograrlo. Esto suele trasladar al consumidor la responsabilidad de comprender los detalles de configuración de los servicios avanzados, así como la complejidad y el esfuerzo adicionales que supone integrar dichos servicios con herramientas de automatización. Es como pedir un bocadillo especificando una por una todas las operaciones necesarias para prepararlo, en lugar de limitarse a pedirlo confiando en que quien lo prepara sabrá qué operaciones debe realizar (y en qué orden).

En cambio, una interfaz declarativa permite a los consumidores (humanos o máquinas) crear servicios solicitando lo que desean. No es necesario conocer en detalle todos los pasos requeridos, ya que el sistema objeto de la automatización dispone de flujos de trabajo preconfigurados o plantillas de servicio para crear la configuración en función de los resultados deseados. Aunque una interfaz declarativa requiere una configuración inicial algo más compleja, esta complejidad se ve compensada por la sencillez de uso una vez creadas las plantillas de servicio adecuadas. Por lo general, esto la convierte en el mecanismo preferido para crear sistemas de automatización.

Directamente o mediante una herramienta de gestión

Otra decisión que deberá considerar es si las llamadas a la API de automatización deben realizarse desde herramientas de terceros directamente al dispositivo que se debe modificar o a través de una herramienta de gestión adicional. Las herramientas de gestión pueden abstraer y simplificar las operaciones, además de ofrecer capas adicionales de control y registro en comparación con una conexión directa a la entidad gestionada. Sin embargo, deberá asegurarse de que sus capas de gestión tengan una alta disponibilidad en situaciones en las que sea fundamental poder realizar cambios rápidamente.

Figura 4: Las herramientas de gestión pueden simplificar las llamadas de automatización y el registro, pero a veces implican renunciar a cierto grado de granularidad y disponibilidad en la gestión en comparación con realizar una llamada directa a la entidad gestionada.

¿API, agente de inicio o CLI?

Los dispositivos BIG-IP se automatizan principalmente mediante la API REST, que expone la mayor parte de las funcionalidades de BIG-IP a través de un esquema documentado. Los módulos proporcionados por F5 para herramientas de automatización como Ansible hacen un uso intensivo de la API REST. La incorporación de la funcionalidad iControl LX también permite crear un endpoint de API definido por el usuario que puede realizar una operación de varios pasos con una sola llamada a la API.

Otra forma habitual de automatizar la configuración de BIG-IP consiste en utilizar agentes de inicio, que se ejecutan durante el arranque y pueden obtener información externa para configurar la plataforma BIG-IP. Los agentes de inicio suelen utilizarse para realizar la configuración inicial e «incorporar» dispositivos, y pueden obtener scripts y archivos de configuración adicionales de sitios de terceros, como GitHub, o de su propio repositorio. También pueden utilizarse para configurar por completo una plataforma BIG-IP, especialmente si se ha optado por una configuración fija para cada aplicación.

La configuración de inicio más habitual es cloud-init, que está habilitada en todas las imágenes de BIG-IP VE (excepto en Microsoft Azure), aunque resulta más adecuada para implementaciones en AWS y OpenStack. Además de cloud-init, F5 proporciona una serie de bibliotecas de inicio en la nube para ayudar a configurar BIG-IP durante 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 errores. Esto es especialmente importante si se utilizan fuentes externas, sobre todo cuando se pueda iniciar una instancia como parte de un evento de escalado. Si los recursos externos no están disponibles, ¿cómo se comportará el sistema? ¿Se crearán dispositivos «zombi» adicionales para intentar satisfacer la demanda?

En algunos casos, los sistemas de automatización pueden actuar como usuarios y ejecutar comandos de la CLI. Aunque esto puede resolver ocasionalmente algunos problemas cuando las llamadas a la API no son suficientes, por lo general, la dificultad para ofrecer soporte y la fragilidad de la solución hacen que este sea el método al que recurrir en última instancia.

Plantillas y guías operativas

Las plantillas y los playbooks permiten automatizar despliegues y crear infraestructuras con cierto grado de estandarización. Un nivel adecuado de estandarización hace que la infraestructura sea más robusta y fácil de mantener. Las plantillas bien diseñadas ofrecen una interfaz declarativa en la que la entidad solicitante (un usuario o una máquina) solo necesita conocer las propiedades que requiere, no los detalles de implementación. Realizar los despliegues exclusivamente mediante plantillas y solucionar los problemas únicamente corrigiendo dichas plantillas puede mejorar la calidad del servicio, ya que, por lo general, los problemas solo tienen que corregirse una vez. Los servicios se vuelven a desplegar a partir de la nueva plantilla, y las actualizaciones realizadas en ella evitan que el mismo problema vuelva a producirse.

Integraciones de plataformas

Las herramientas de integración de plataformas vinculan la configuración de los servicios BIG-IP con plataformas como nubes privadas o sistemas de gestión de contenedores. Los mecanismos varían según la plataforma y la implementación, pero suelen ajustarse a tres modelos:

  • Sustitución de los servicios de F5 en una estructura de plataforma existente
    En este modelo, los servicios de F5 se integran mediante una estructura de plataforma existente, como cuando se utiliza F5 como enrutador de OpenShift Container Platform o se utiliza F5 con el sistema Equilibrio de carga como servicio (LBaaS) de OpenStack. El uso de estos mecanismos apenas requiere cambios en los procedimientos operativos, ya que se utiliza una interfaz nativa de la plataforma para configurar los servicios, y el controlador suministrado y el resto del software convierten de forma transparente las directivas de configuración de la plataforma en una configuración de F5. No obstante, recuerde que solo se pueden implementar fácilmente las funciones disponibles a través de la interfaz nativa de la plataforma.
  • Suscripción a eventos de la plataforma
    Otro método de integración habitual consiste en que un módulo de software (como el Conector de contenedores para Kubernetes y Mesos) se suscriba a eventos de una plataforma y, a continuación, modifique una configuración en función de dichos eventos. Puede seleccionar qué eventos y servicios se implementarán etiquetando las aplicaciones que deben recibir servicio y configurando el software del conector para que supervise los eventos con las etiquetas requeridas.
  • Integración con herramientas de gestión de plataformas
    Muchas plataformas de nube privada cuentan con sistemas de gestión diseñados para la automatización. VMware, por ejemplo, dispone de varias herramientas de gestión e integración, entre ellas vRealize Orchestrator (vRO), para el que existe un complemento de terceros para configurar BIG-IP. Otro ejemplo es 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 eficaz de adaptar las configuraciones de BIG-IP a los cambios del entorno. La detección de servicios sondea periódicamente el sistema en la nube mediante una API para obtener una lista de recursos y modificar en consecuencia la configuración de BIG-IP. Esto resulta especialmente útil en entornos donde los recursos están configurados en grupos de escalado automático, ya que, al escalar los recursos informáticos del back-end, el equilibrador de carga debe conocer los nuevos recursos. Los componentes de detección de servicios se incluyen con las soluciones de escalado automático en la nube de F5 para AWS y Azure.

Entonces, ¿existe algún modelo de automatización recomendado por F5? Sí y no. Hay tantas variables que tener en cuenta que no resulta útil ofrecer recomendaciones totalmente prescriptivas. No obstante, hemos reunido los componentes básicos clave que creemos que necesitará en una familia de productos coordinada.

La cadena de herramientas de automatización de F5

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

F5 Automation Toolchain contiene los siguientes componentes clave

  • Application Services 3 Extension (AS3) – Servicios de aplicaciones declarativos L4-L7 de BIG-IP
  • Extensión Declarative Onboarding (DO) – incorporación declarativa de BIG-IP en las capas L1-L3
  • Extensión de transmisión de telemetría (TS) – Transmisión automatizada de telemetría de BIG-IP a sistemas de análisis
  • API Services Gateway (ASG) – Entorno de ejecución de contenedores para extensiones personalizadas de iControl LX

La familia Automation Toolchain está diseñada para gestionar el ciclo de vida de la prestación de servicios de aplicaciones, desde la implementación de la plataforma (mediante plantillas en la nube) hasta la incorporación, la configuración de servicios y las funciones avanzadas de telemetría y registro 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 marca el rumbo futuro 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.

Extensión Application Services 3

F5 Applications Services 3 Extension (AS3) ofrece una forma sencilla y coherente de automatizar la implementación de servicios de aplicaciones de las capas 4 a 7 en la plataforma BIG-IP mediante una API REST declarativa. AS3 utiliza un modelo de objetos bien definido representado como un documento JSON. La interfaz declarativa permite gestionar las implementaciones de servicios de aplicaciones de F5 de forma sencilla y fiable.

Figura 6: La extensión F5 Application Services 3 (AS3) proporciona una forma sencilla y coherente de automatizar la implementación de servicios de aplicaciones de las capas 4 a 7 en la plataforma BIG-IP mediante una API REST declarativa. AS3 utiliza un modelo de objetos bien definido, representado como un documento JSON. La interfaz declarativa permite gestionar las implementaciones de servicios de aplicaciones de F5 de forma sencilla y fiable.

Diagrama: La arquitectura de AS3

La extensión AS3 recibe y analiza las declaraciones y realiza las llamadas pertinentes a la API de iControl para crear el estado final deseado en el BIG-IP de destino. La extensión puede ejecutarse en la propia instancia de BIG-IP o mediante AS3 Container, un contenedor o una máquina virtual independiente que ejecuta la extensión AS3 y, a continuación, realiza llamadas externas a la API del BIG-IP.

Figura 7: La extensión AS3 recibe y analiza las declaraciones y realiza las llamadas pertinentes a la API de iControl para crear el estado final deseado en el BIG-IP de destino. La extensión puede ejecutarse en la propia instancia de BIG-IP o mediante AS3 Container, un contenedor o máquina virtual independiente que ejecuta la extensión AS3 y, a continuación, realiza llamadas externas a la API del BIG-IP.

Las llamadas a AS3 también se pueden realizar a través de BIG-IQ, que proporciona licencias, gestión, visualización y control de acceso para las plataformas BIG-IP, además de ser la tecnología en la que se basa F5 Cloud Edition, que ofrece instancias de BIG-IP bajo demanda para cada aplicación, combinadas con potentes funciones de análisis.

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

Extensión de incorporación declarativa

La extensión Declarative Onboarding ofrece una interfaz sencilla para preparar una plataforma F5 BIG-IP, desde el momento posterior al arranque inicial hasta dejarla lista para implementar la seguridad y la gestión del tráfico de las aplicaciones. Esto incluye ajustes del sistema, como las licencias y el aprovisionamiento; ajustes de red, como las VLAN y las Self IP; y ajustes de clúster si utiliza más de un sistema BIG-IP.

Una vez completado el proceso de incorporación, los servicios de aplicaciones se pueden implementar mediante el proceso automatizado (o manual) que elija.

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

Extensión de transmisión de telemetría

BIG-IP es un potente generador de telemetría de aplicaciones, seguridad y red. Telemetry Streaming proporciona una interfaz declarativa para configurar la transmisión de estadísticas y eventos a consumidores externos, como:

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

Al igual que con los demás miembros de la familia Automation Toolchain, la configuración se gestiona mediante una interfaz declarativa que utiliza un esquema JSON sencillo y coherente.

Puerta de enlace de servicios de API

La puerta de enlace de servicios de API es una imagen de contenedor Docker que permite ejecutar extensiones personalizadas de iControl LX 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 de la familia (todavía)

Las plantillas de nube utilizan las funciones de automatización del despliegue de las nubes públicas y privadas para aprovisionar e iniciar dispositivos virtuales BIG-IP.

Actualmente, F5 dispone de plantillas compatibles con las siguientes nubes:

F5 está desarrollando activamente las plantillas para la nube con el fin de abarcar una gama más amplia de escenarios de implementación. Envíe las incidencias o solicitudes de incorporación de cambios a través del repositorio de github correspondiente.

Herramientas de orquestación y flujo de trabajo y entrega/despliegue continuos

Los servicios de aplicaciones son solo una capa de la pila tecnológica necesaria para crear una aplicación funcional. La integración, compilación e implementación de todos los componentes necesarios para llevar una aplicación desde la confirmación del código hasta su implementación operativa y monitorización conlleva un gran número de pasos interdependientes que deben ejecutarse en el orden correcto. Automatizar esta tarea es la función de las herramientas de orquestación, que crean flujos de trabajo compuestos por tareas y herramientas coordinadas.

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

Con herramientas como AS3, las plantillas de nube y Declarative Onboarding, puede almacenar toda la información de configuración necesaria para crear y configurar servicios de aplicaciones como parte de una canalización de despliegue.

En arquitecturas que utilizan plataformas de hardware o software BIG-IP multiinquilino y de larga duración, solo será necesario gestionar la configuración de AS3 como parte del repositorio de código de una aplicación. En cambio, en aquellos casos en los que se desee iniciar instancias dedicadas bajo demanda como parte del proceso de despliegue, la gestión de las plantillas y las declaraciones de Declarative Onboarding deberá formar parte del repositorio de la aplicación.

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

Aunque no podemos abarcar todas las herramientas de automatización u orquestación posibles, a continuación se enumeran las herramientas, los casos de uso y las funciones más habituales entre 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

Aportado por los usuarios

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 infraestructuras

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

Aportado por usuarios

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 inicio y scripts en la 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

Bibliotecas en la nube

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

--------------------

Integraciones de la plataforma

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 (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 (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)

De terceros

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

-----------------------

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

Las herramientas e integraciones anteriores permiten automatizar la implementación y configuración de la plataforma BIG-IP para proporcionar servicios de disponibilidad, seguridad y escalado de aplicaciones. Estos servicios, aunque esenciales, constituyen solo una parte de la implementación de una aplicación de pila completa. Para crear de forma coordinada y probada una pila de aplicaciones completa que incluya los servidores, los datos, el código compilado de la aplicación y la infraestructura, se necesita algo más que una simple herramienta de automatización.

Necesitará una herramienta de orquestación de nivel superior, con sus correspondientes flujos de trabajo e integraciones con diversos sistemas de automatización. Estas herramientas se utilizan principalmente en prácticas de integración continua y entrega continua (CI/CD), en las que la automatización es necesaria para prácticamente cualquier implementación. Aunque existen varias herramientas de orquestación, Jenkins es quizá la más habitual, y hay flujos de trabajo de ejemplo disponibles que muestran cómo utilizar Jenkins, F5 y Ansible para incorporar las capacidades de infraestructura como código de F5 en un flujo de trabajo de CI/CD. Sin embargo, por lo general, la herramienta de orquestación utilizará una de las herramientas de automatización de la configuración para efectuar los cambios e implementar los servicios.

Licencias

Las plataformas BIG-IP requieren una licencia para funcionar, por lo que resulta útil incluir la concesión de licencias en la ruta crítica de la automatización. En entornos muy dinámicos en los que puede ser necesario ampliar o reducir rápidamente la capacidad de los dispositivos virtuales BIG-IP, o crearlos con fines de prueba y desarrollo, los modelos de licencia deben evaluarse detenidamente.

En la nube pública, una opción es utilizar versiones de BIG-IP con facturación por consumo (disponibles a través de los marketplaces de los proveedores de nube). Las instancias con facturación por consumo obtendrán la licencia automáticamente, y los costes se cobrarán a través del proveedor de nube según el uso o el compromiso de permanencia.

Otra opción es utilizar conjuntos de licencias reutilizables adquiridas mediante suscripción (o de forma perpetua) junto con F5 BIG-IQ License Manager, que le permitirá asignar y revocar licencias de un conjunto.

Puede automatizar los pasos de concesión de licencias mediante agentes de inicio y llamadas a la API, para lo cual será necesario disponer de acceso saliente a Internet al servidor de licencias de F5 (incluso en el caso de las licencias de pago por uso en plataformas en la nube).

¿Qué usar en cada caso?

Dependiendo de su organización, elegir las herramientas de automatización y orquestación adecuadas puede ser muy sencillo o una tarea complicada. Resulta fácil si ya ha adoptado una herramienta o metodología para otros componentes y solo necesita integrar BIG-IP en el sistema. Incluso sin integrarlo con una herramienta concreta, la completa API REST de iControl, combinada con las funcionalidades de iControl LX y cloud-init, permite integrar BIG-IP en una herramienta de automatización existente de forma relativamente sencilla (especialmente si se combina con plantillas de iApp, que permiten crear incluso una configuración compleja con una sola llamada a la API).

Sin embargo, si parte de cero, la situación puede ser más compleja. Al igual que al seleccionar cualquier otra solución, lo primero es comprender sus requisitos. Aunque este documento no puede elaborar por usted la lista de requisitos, a continuación se ofrecen una serie 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 de utilizar para los usuarios de su sistema de orquestación. Los usuarios solo necesitan saber qué quieren, en lugar de conocer todos los pasos del procedimiento para conseguirlo. En adelante, la familia F5 Automation Toolchain constituirá la implementación de referencia para los sitios de nueva creación.

Plataformas y entornos potenciales: Es inevitable que los contenedores y diversas plataformas en la nube sean una parte fundamental de la infraestructura de las aplicaciones; planifique en consecuencia.

Competencias: ¿Cuenta ya con conocimientos sobre algunas de las tecnologías subyacentes? Tenga en cuenta que estos conocimientos pueden existir fuera de su departamento, pero dentro del conjunto de su empresa. Si es así, podría ser conveniente elegir una herramienta que utilice un lenguaje que su organización ya haya adoptado.

Capacidad de soporte: Cree únicamente sistemas que pueda mantener. Puede parecer obvio, pero una de las claves del éxito es elegir un nivel de complejidad que su organización pueda asumir, de modo que maximice las ventajas de la automatización sin generar una sobrecarga operativa excesiva.

Conclusión

La creciente automatización de los sistemas de TI es inevitable. Adoptar un enfoque estratégico para los servicios clave de entrega y seguridad de aplicaciones garantizará que las aplicaciones que implemente su organización se mantengan seguras y disponibles. La automatización también puede ayudar a reducir la carga operativa, especialmente cuando se trabaja con varias plataformas y nubes públicas.

Elegir el sistema de automatización adecuado puede resultar complicado y, en condiciones ideales, debería abordarse como un esfuerzo colaborativo e integral, teniendo en cuenta tanto las competencias disponibles como su capacidad para mantener el sistema que cree. Sea cual sea la solución que elija, puede tener la certeza de que la plataforma BIG-IP y la experiencia de F5 estarán a su disposición para ayudarle a ofrecer los servicios de nivel empresarial de los que dependen sus aplicaciones, independientemente de dónde estén implementadas.

Nota sobre el soporte de F5. F5 ofrece soporte para varias plantillas y herramientas, pero no para todas. Cuando el software está disponible en Github, únicamente se ofrece soporte para el código que se encuentra en las carpetas «supported» de los repositorios de F5. Las políticas de soporte del resto del software se especifican en los archivos readme correspondientes.

PUBLICADO EL 13 DE MAYO DE 2019