BLOG

Dónde encaja F5 en el mundo DevOps

Miniatura de Lori MacVittie
Lori MacVittie
Publicado el 16 de noviembre de 2015

A menudo, después de hablar en conferencias, me preguntan qué tiene de especial el perro F5 en la raza. Últimamente, ese tema suele ser DevOps o estar relacionado con DevOps de alguna manera.

La realidad es que los servicios afines a las aplicaciones, como el equilibrio de carga, están siendo impulsados ​​hacia las aplicações , hacia el entorno más ágil, automatizado e impulsado por software que conforma la red de aplicação . Ahí es donde los sistemas centrados en aplicação y cómputo, como los cachés (pensemos en Memcached y Redis), las bases de datos y los contenedores, se están implementando utilizando metodologías CI/CD (integración continua/entrega continua) que dependen de mucha automatización y orquestación.

F5, y más específicamente, BIG-IP, es casi sinónimo de equilibrio de carga. Lo hemos estado haciendo desde antes del cambio de siglo y muchos de los algoritmos y conceptos básicos de equilibrio de carga que utilizamos hoy con otros equilibradores de carga, de hecho, se inventaron aquí. Así que decir que sabemos una cosa o dos sobre aplicações de equilibrio de carga es quedarse corto. Y lo hacemos con software implementado en hardware personalizado o incluso en la nube

Ese software cuenta con una API. Se llama iControl y está disponible en versiones SOAP y REST para su comodidad programática. Esta API permite a cualquier persona (incluso a mí) aprovisionar, configurar y controlar los servicios de equilibrio de carga (y otros) de un BIG-IP para cualquier aplicação.

Ahora bien, como dije, los servicios afines a la aplicación están moviéndose hacia la aplicação cada día. La escalabilidad (equilibrio de carga) es uno de esos servicios. Es un componente crítico hoy en día para cualquier aplicação y, cada vez más, para los microservicios que componen las aplicações modernas. Como señaló Microsoft en un documento de 2015 sobre escalabilidad de servicios:

En presencia de diversas y abundantes máquinas, el desarrollador se ve obligado a pensar en particionar la carga de trabajo de la aplicação , así como en la conectividad de red necesaria para soportar cada esquema de partición. Un aspecto muy importante de la conectividad existe entre los usuarios externos y el servicio en sí. A excepción de los servicios más pequeños, se necesita algún tipo de mecanismo de equilibrio de carga para distribuir la carga de las conexiones entrantes entre las cajas FE. Muchos megaservicios también tienen subservicios, que a su vez tienen balanceo de carga. [énfasis añadido]

El equilibrio de carga no es una idea de último momento; es un complemento natural de las aplicações y los servicios actuales para permitir la escala (y la confiabilidad) necesarias para mantener a los usuarios contentos y al negocio en funcionamiento. Esto hace que sea cada vez más cierto que el equilibrio de carga es parte de la arquitectura general de la aplicação . Y de hecho así debería ser, ya que la adición de cualquier componente a la arquitectura de una aplicação puede introducir problemas o dificultades de integración que es necesario superar. Problemas que deben abordarse antes de que la aplicación pase a producción, no después. El tiempo necesario para encontrar y solucionar problemas en producción es mucho mayor que en entornos de desarrollo o prueba y, por lo tanto, incluir el equilibrio de carga en la arquitectura de la aplicação significa una transición más fluida (y más rápida) a producción y a manos de los usuarios.

Pero eso significa que es necesario poder integrar el balanceador de carga en los procesos automatizados por la cadena de herramientas DevOps que impulsan cada vez más la integración y la entrega en entornos de desarrollo y prueba. Significa ofrecer un conjunto integral de herramientas programáticas, como API y plantillas, que permiten tratar la infraestructura como código y automatizar su aprovisionamiento y configuración. Esto es lo que hace iControl (REST o SOAP) para F5.

BIG-IP se puede integrar en DevOps en las fases de implementación, prueba y lanzamiento aprovechando sus API nativas usando prácticamente cualquier lenguaje que desee (aquí están Powershell , Python y Perl) o mediante marcos como Chef y Puppet y herramientas como Ansible y SaltStack . iApps , nuestras plantillas que describen la configuración de un servicio de aplicação , se pueden tratar como código: almacénelo en Github, recupérelo e impleméntelo como está o personalícelo con un script.

Básicamente, los servicios de aplicação de BIG-IP como el equilibrio de carga y muchos de sus servicios de seguridad y rendimiento de aplicação deben integrarse antes, en el proceso de CI/CD, para garantizar que estos servicios críticos funcionen juntos sin problemas con la aplicação, como se espera.

Con el tiempo, veremos que cada vez más dispositivos tradicionalmente “de red” se adaptan a un mundo DevOps, ya que la presión para mover aplicações más rápido, con mayor frecuencia y con menos interrupciones continúa impulsando a los líderes empresariales y de TI a entrar de cabeza en la economía de las aplicação . 

 

Para profundizar en las herramientas de DevOps que puede usar con BIG-IP, consulte esta publicación en DevCentral " F5 Friday: Herramientas DevOps y F5