ENES

Gestión de la configuración

Describir cómo deben estar armados los servidores y que una herramienta los mantenga así.

Un archivo que describe el estado deseado de un servidor y una herramienta que lo aplica a tres servidores, uno de los cuales se había desviado y queda corregido

Una empresa puede tener cientos de servidores que necesitan los mismos usuarios, paquetes, ajustes y parches de seguridad. Hacerlo a mano, entrando a cada uno, es lento y propenso a errores: tarde o temprano dos servidores que deberían ser idénticos no lo son. La gestión de la configuración (configuration management) resuelve esto escribiendo en archivos el estado deseado de cada máquina y dejando que una herramienta haga que todos los servidores coincidan con él.

Las herramientas más conocidas son Puppet, Chef y Ansible. Puppet y Chef suelen instalar un pequeño agente en cada servidor que se reporta cada tanto y corrige lo que se haya desviado de la descripción. Ansible no necesita agente: se conecta por SSH y ejecuta tareas escritas en archivos YAML llamados playbooks. En todas, los pasos buscan ser idempotentes, o sea que correrlos dos veces no cambia nada la segunda vez: "asegurate de que nginx esté instalado" en lugar de "instalá nginx".

Es pariente cercana de la infraestructura como código. Herramientas como Terraform crean los servidores, las redes y las bases de datos; la gestión de la configuración prepara lo que corre adentro. Con contenedores y golden images, muchos equipos hoy dejan todo armado antes de arrancar la máquina en vez de arreglarla después, pero la gestión de la configuración sigue en todos lados, sobre todo en flotas de máquinas que viven mucho tiempo.

Para quedarse

Para seguir leyendo

Términos relacionados

Más de Cloud