
Durante años, la programabilidad del plano de control ha estado dominada por las API. En el caso de F5, esto se ha traducido en iControl. Primero como interfaz SOAP y, más adelante, como REST, iControl ha proporcionado a los equipos de operaciones de red lo que su nombre indica: control sobre todos los aspectos de la configuración de BIG-IP.
Ese método no va a desaparecer. Las API proporcionan el control granular que muchas organizaciones necesitan para gestionar sus implementaciones de servicios de aplicaciones. También son fundamentales para las iniciativas de integración con socios y nuevos entornos.
Eso no significa que las API sean la «única forma correcta» de automatizar el funcionamiento de un BIG-IP. De hecho, en el proceso de adopción de un enfoque más continuo para el despliegue de aplicaciones y servicios de aplicaciones, ha surgido un método alternativo. Se trata de un método declarativo, en el que el operador describe el estado final de la configuración y delega en el sistema de destino la responsabilidad de implementarla.
Hay muchas razones para adoptar un método de configuración declarativo, entre las que destaca su compatibilidad con enfoques de DevOps como la infraestructura como código y el despliegue continuo. Este es el objetivo de F5 AS3: proporcionar una interfaz declarativa que reduzca la dependencia de las API y aumente la capacidad de implementar una canalización de despliegue continuo totalmente automatizada. Es más apropiado denominarlo «configuración como código», ya que en realidad no estamos creando la infraestructura a partir de código, como da a entender el término.

AS3 es un formato declarativo que utiliza pares clave-valor de JSON para describir una configuración de BIG-IP. Desde la IP virtual hasta el servidor virtual, pasando por los miembros, grupos y nodos necesarios, AS3 ofrece un formato sencillo y legible para describir una configuración. Una vez creada la configuración, solo hay que enviarla a BIG-IP, donde la extensión AS3 la aceptará y ejecutará los comandos necesarios para convertirla en una configuración de BIG-IP implementada y plenamente funcional.
Ejemplo de conversión de la descripción de la VIP y del pool de bigip.conf en una declaración de AS3:
bigip.conf | Declaración AS3 |
ltm virtual /Common/serviceMain { destination /Common/10.0.1.10:80 ip-protocol tcp mask 255.255.255.255 pool /Common/web_pool source 0.0.0.0/0 translate-address enabled translate-port enabled}ltm pool /Common/web_pool {members { /Common/192.0.1.10:80 { address 192.0.1.10 } /Common/192.0.1.11:80 { address 192.0.1.11 } } monitor /Common/http} | "serviceMain": { "class": "Service_HTTP", "virtualAddresses": [ "10.0.1.10" ], "pool": "web_pool" }"web_pool": { "class": "Pool", "monitors": [ "http" ], "members": [ { "servicePort": 80, "serverAddresses": [ "192.0.1.10", "192.0.1.11" ] } ] } |
La posibilidad de describir una configuración de BIG-IP de esta manera permite a los equipos de operaciones adoptar un enfoque de configuración como código para implementar servicios de aplicaciones. Mediante el uso de un repositorio, podemos obtener automáticamente las configuraciones de AS3 para su implementación. Además de su uso en la automatización, los repositorios ofrecen una forma más moderna y fácil de integrar para controlar las versiones y gestionar las configuraciones, y permiten revertir rápidamente los cambios en caso de que se produzca algún problema con la configuración.
Por ejemplo, mediante las funciones de webhook de GitHub, podemos iniciar automáticamente un despliegue al confirmar una configuración de AS3 nueva o actualizada. Para ello, necesitamos un servidor de webhooks que espere una notificación de que se ha confirmado una nueva definición de servicio (AS3). Estas notificaciones se envían en forma de un hook, que es un objeto JSON con información sobre el evento. Una vez recibida, el servidor de webhooks analiza el hook, recupera de GitHub la configuración de AS3 a la que se hace referencia e inicia el proceso de configuración.

Puedes descargar la última versión de AS3 en GitHub. La documentación sobre cómo implementar la extensión AS3, así como ejemplos de configuraciones de AS3, están disponibles aquí.
El prototipo de Webhook fue desarrollado por Nathan Pearce, promotor de desarrolladores en la Oficina del CTO. Para consultar más prototipos y ejemplos de integración de BIG-IP con canalizaciones de CI/CD y telemetría, puedes seguir a Nathan y a F5 Networks en GitHub.
Sobre el autor

Lori MacVittie es ingeniera distinguida y evangelista jefe en la Oficina del CTO de F5, y cuenta con una amplia experiencia en entrega de aplicaciones, estrategia de automatización e infraestructura. Es conocida por convertir la complejidad en claridad, ya sea definiendo mecanismos de protección para agentes de IA, analizando arquitecturas multinube frágiles o explorando los límites de los sistemas escalables. Aporta más de treinta años de experiencia en el sector en desarrollo de aplicaciones, arquitectura de TI y operaciones de redes y sistemas. Antes de incorporarse a F5, fue una galardonada editora de tecnología. MacVittie posee un máster en Informática y es una autora prolífica cuyas publicaciones abarcan la seguridad, la nube y la arquitectura empresarial. También es una apasionada de los juegos de mesa y los videojuegos, y expresa sin complejos sus firmes opiniones sobre el queso.
Más artículos de Lori Mac VittieArtículos relacionados del blog

Cree servicios públicos seguros, resilientes y preparados para la IA con F5 y AWS
Descubre cómo las organizaciones del sector público pueden modernizar de forma segura sus aplicaciones y soluciones de IA, al tiempo que gestionan los sistemas heredados, el cumplimiento normativo y el riesgo operativo.
Protección de los sistemas de IA: por qué la seguridad debe avanzar al ritmo de la innovación
Desde acelerar avances revolucionarios en medicina y educación hasta transformar la vida cotidiana, la IA está cambiando nuestra forma de vivir y trabajar. Pero también ofrece grandes oportunidades a los ciberdelincuentes.
Avanzar hacia la optimización digital tras la transformación
Descubre estrategias de optimización digital para garantizar políticas de seguridad coherentes, impulsar la madurez de la transformación digital y superar los retos de la transformación.
Proyecto de código abierto destacado: mayor observabilidad con F5 Cloud Logger iApp
En el punto de mira del código abierto: cómo aumentar la observabilidad. Lee el blog de F5 para descubrir cómo exportar fácilmente la telemetría de BIG-IP a plataformas modernas de análisis en la nube.
El estado de la entrega de aplicaciones en 2018: la transformación digital impulsa la automatización y la multinube pese a las preocupaciones de seguridad
Descubre las principales conclusiones del cuarto informe anual de F5 sobre el estado de la entrega de aplicaciones.
Estado de la entrega de aplicaciones en 2017: automatización, API y DevOps
Descubre el informe sobre el estado de la entrega de aplicaciones de 2017. Lee el blog retrospectivo de F5 sobre los inicios del auge de las redes declarativas y los flujos de DevOps.