BLOG

Elegir Ansible o Terraform para los servicios de aplicação de F5

Miniatura de Lori MacVittie
Lori MacVittie
Publicado el 30 de septiembre de 2019

Elija uno u otro, o ambos, para implementar y operar F5 Aplicação Services.

El movimiento de código abierto siempre se ha centrado en la libertad. La libertad de elegir la solución que funcione mejor para usted según sus habilidades, presupuesto, arquitectura y objetivos. Ese principio continúa siendo un factor importante hoy en día cuando se trata de construir una infraestructura repetible para el proceso de implementación.

Existen muchas opciones excelentes para automatizar el aprovisionamiento y el funcionamiento de los servicios de aplicação . Dos de las opciones más populares son RedHat Ansible y HashiCorp Terraform. 

Permítame detenerme aquí y mencionar que F5 es totalmente compatible con Ansible y Terraform . Trabajamos con ambos para garantizar la interoperabilidad y la integración, para que usted no tenga que hacerlo. Sea cual sea tu elección, te respaldamos.

Pero hemos notado durante las interacciones con los clientes que, en algunas tareas, Ansible se destaca, mientras que en otras, es Terraform el que brilla. Esto se debe a que la automatización y el mantenimiento de un pipeline requieren diferentes conjuntos de tareas.

Terraform se destaca en la orquestación : la gestión del estado de un entorno. Lo que esto significa es que Terraform entiende cómo debería lucir un entorno y cómo debería comportarse. Si algo no está bien, Terraform puede marcarlo para revisión.

Ansible se destaca en la gestión de configuración . Esto significa que su enfoque se centra en mantener el estado de los componentes individuales. Si hay un problema con un componente individual en el entorno, Ansible puede ajustar la configuración para solucionar el problema. 

El enfoque diferente de cada herramienta significa que no es una sorpresa cuando las vemos utilizadas juntas para automatizar el ciclo de vida de la implementación. 

Para ver cómo funcionan estas dos herramientas con F5 Aplicação Services, es una buena idea establecer un punto común con una vista del ciclo de vida de la implementación: 

Ciclo de vida de la implementación

Así como existe un ciclo de vida para las aplicações con un canal de entrega correspondiente, existe un ciclo de vida para los servicios de aplicação con un canal de implementación correspondiente. Ese ciclo de vida requiere múltiples pasos:

  1. Disposición
    a. El aprovisionamiento es el proceso de poner en marcha una instancia, ya sea una máquina virtual o un contenedor, ya sea en una nube pública o privada.
  2. De a bordo
    a. La incorporación es necesaria para configurar la red necesaria para operar en el entorno en el que se ha implementado BIG-IP.
  3. Desplegar
    a. Durante la fase de implementación del ciclo de vida, se define, configura y lanza un servicio de aplicação .
  4. Funcionar
    a. Las operaciones en curso requieren seguimiento y análisis. F5 Telemetry Streaming permite que BIG-IP se conecte a las canalizaciones de telemetría para compartir las métricas y los datos deseados.
  5. Cambiar
    a. El cambio es el proceso de modificar las configuraciones existentes (especificadas inicialmente durante la fase de implementación).

Tanto Ansible como Terraform pueden ser el proveedor principal de automatización para las cinco fases. Sin embargo, cada uno destaca en diferentes fases, por lo que utilizar ambos puede ser una mejor estrategia. Es más probable que veamos Ansible utilizado para las fases de implementación y cambio (gestión de la configuración), mientras que Terraform se utiliza con mayor frecuencia para aprovisionar e incorporar (orquestación).

Ansible y Terraform juntos

También sabemos que muchos clientes desean estandarizar sus cadenas de herramientas, y por una buena razón. Mantener la experiencia en múltiples herramientas puede ser difícil, sin mencionar el funcionamiento y mantenimiento de la infraestructura necesaria para ejecutar múltiples cadenas de herramientas. En ese caso, hay formas de elegir cuál de estas increíbles herramientas estandarizar.

  1. Cambios poco frecuentes en la infraestructura
    En este escenario, estás realizando cambios en los servicios de la aplicação , pero no necesariamente en la infraestructura, es decir, BIG-IP. Este suele ser el caso cuando se aprovecha un BIG-IP existente para implementar nuevas aplicações. Ansible es una buena opción en este caso, ya que se destaca en la gestión de configuración y eso es principalmente lo que harás. Ansible admite una amplia gama de lenguajes y estilos de API, lo que lo convierte en una excelente opción para que los equipos de DevOps y NetOps realicen cambios en los servicios de aplicação . Puede utilizar Ansible para configurar los servicios de aplicação F5 a través de los módulos F5 Ansible o a través de F5 AS3. O puedes utilizar ambos dependiendo de tus necesidades específicas. Para obtener más información sobre cómo elegir su enfoque Ansible, consulte este excelente blog de Mani Gadde y Andrius Benokraitis .
  2. Cambios frecuentes en la infraestructura
    La nube, especialmente la nube pública, se elige a menudo para facilitar un alto índice de cambios en las aplicações y su infraestructura de soporte. Inmutable infraestructura A menudo ayuda a gestionar la volatilidad en esta situación, es decir, desmantelar y volver a implementar una infraestructura completa. Terraform es una excelente opción para este escenario, ya que se destaca en el aprovisionamiento y la incorporación de infraestructuras enteras con rapidez. Su diseño y enfoque en la orquestación son adecuados para crear infraestructuras consistentes y repetibles a escala, especialmente en entornos volátiles como el de la nube. 
  3. Cambios frecuentes en la infraestructura y los servicios de aplicação .
    Terraform + Ansible puede ser una excelente combinación para gestionar altas tasas de cambio en la infraestructura y los servicios de aplicação . Dado que espera cambios frecuentes en el estado del entorno y los componentes individuales, necesitará herramientas de gestión de cambios y de orquestación para ayudar a mantener la disponibilidad de las aplicações y sus servicios de aplicação de soporte.

No importa lo que elijas (Ansible, Terraform o ambos), F5 se compromete a respaldar tu elección con integraciones nativas y plantillas prediseñadas junto con una comunidad que contribuye activamente y perfecciona ambas.