Continuando directamente desde la sección que cubre la Infraestructura como Código, es probable que haya cierta superposición al hablar de la Gestión de la Configuración o la Gestión de la Configuración de Aplicaciones.
La Gestión de la Configuración es el proceso de mantener las aplicaciones, sistemas y servidores en el estado deseado. La superposición con la Infraestructura como Código es que IaC se asegurará de que tu infraestructura esté en el estado deseado, pero después de eso, especialmente Terraform, no se encargará del estado deseado de la configuración de tu sistema operativo o aplicación, y ahí es donde entran en juego las herramientas de Gestión de la Configuración. Aseguran que el sistema y las aplicaciones funcionen como se espera a medida que se producen cambios con el tiempo.
El escenario o por qué querrías usar la Gestión de la Configuración. Conoce a Dean, nuestro administrador del sistema, y Dean es un feliz y competente trabajador que se ocupa de todos los sistemas en su entorno.
¿Qué sucede si su sistema falla, si hay un incendio, si un servidor se cae? Dean sabe exactamente qué hacer, puede solucionar ese problema fácilmente. Sin embargo, los problemas se vuelven difíciles para Dean cuando varios servidores comienzan a fallar, especialmente cuando tienes entornos grandes y en expansión. Por eso Dean necesita tener una herramienta de gestión de la configuración. Las herramientas de Gestión de la Configuración pueden ayudar a que Dean parezca un experto, todo lo que tiene que hacer es configurar los códigos correctos que le permitan enviar las instrucciones sobre cómo configurar cada uno de los servidores rápida y efectivamente, y a gran escala.
Existen diversas herramientas de gestión de la configuración disponibles, y cada una tiene características específicas que la hacen más adecuada para algunas situaciones que otras.
- Ansible es una herramienta de automatización de TI que automatiza la gestión de la configuración, la provisión en la nube, la implementación y la orquestación.
- El núcleo de los libros de jugadas de Ansible está escrito en YAML. (Deberíamos hacer una sección sobre YAML, ya que lo hemos visto varias veces).
- Ansible funciona bien cuando hay entornos que se centran en poner las cosas en marcha rápidamente.
- Trabaja con libros de jugadas que proporcionan instrucciones a tus servidores.
- Ventajas: no se necesitan agentes en los nodos remotos.
- Ventajas: YAML es fácil de aprender.
- Desventajas: la velocidad de rendimiento suele ser menor que la de otras herramientas (más rápido que hacerlo manualmente Dean).
- Desventajas: YAML no es tan poderoso como Ruby, pero tiene una curva de aprendizaje menor.
- Arquitectura: Solo cliente
- Facilidad de configuración: Muy fácil
- Lenguaje: Procedimental: especifica cómo hacer una tarea