He utilizado herramientas como la marioneta para administrar sistemas individuales, en general con un alto nivel de éxito. Donde Puppet se cae es que no es bueno para administrar dependencias fuera de un servidor individual.
Por ejemplo, en un servidor MySQL configuro puppet para hacer lo siguiente:
- Configurar la autenticación en la máquina para que llegue a mi servidor LDAP
- Configurar apt para usar mi espejo de repositorio local
- Instalar paquetes MySQL
- Escribe my.cnf
- Inicie MySQL
- Crear usuarios en la base de datos
En este conjunto de pasos hay una serie de dependencias resueltas; por ejemplo, no puedo iniciar el servicio de base de datos a menos que haya instalado los paquetes, lo que no puedo hacer a menos que el repositorio de apt esté configurado correctamente.
Este servidor MySQL es un cuadro en una configuración de replicación master-> master. En un mundo ideal, Puppet (u otra herramienta similar) me permitiría representar el hecho de que el servidor B necesita esperar hasta que el servidor A esté disponible y luego intentar establecer una relación de replicación con él.
Aquí hay mucho texto, básicamente, lo que pregunto es: ¿hay alguna herramienta como la marioneta que pueda administrar dependencias entre máquinas como esta?