Cfengine – Administración de Clusters mas simple.
4 Apr
Para quienes no lo conocen, Cfengine, es una aplicación que corre para Debian, Red Hat, Windows, Solaris y Aix.
Quizás no muchas de las personas que nos visitan la necesiten pero algunos pocos que trabajamos con muchos servidores, y que tenemos que realizar tareas un tanto repetitivas en cada uno mas de una vez hemos requerido un sistema que haga las tareas que realiza CfEngine.
Cfengine no es mas que un replicador de cambios, el cual funciona con un Master, y Xs numero de Slaves que necesitemos, en cada uno de estos servidores “Slave” por así llamarlos debemos instalar una especie de agente el cual estará a la escucha de los cambios que deseemos realizar.
Para ejemplificarlo un poco mas podemos verlo de la siguiente forma:
Tenemos 50 servidores, y tenemos instalado en estos apache (Nombro apache porque es lo mas común), y deseamos editar el numero de maxconnections, de nuestro Webserver, en un ambiente normal lo que haríamos seria, ir por cada uno por ssh, y editar el archivo apache.conf, o httpd.conf haciendo un sed para reemplazar el numero de maxconnections,y luego hacer un reload al servicio.
Imaginemos que nos tardamos 10 segundos en establecer cada conexión ssh(contando autenticación), luego otros 5 seg. haciendo copy paste del sed que tenemos copiado en un archivo de texto, luego unos 5 seg mas mientras se reinicia nuestro apache y por ultimo el logout, son al menos unos 25 segundos en total que multiplicados por 50 serian un aproximado de 20 minutos, si somos robots yendo uno por uno sin interrupciones de ningún tipo haciendo log in y logout, sin contar que se tenga uqe hacer sudo y que hay que repetir una misma contraseña una y otra vez de verdad es bastante incomodo.
Es por esto que nace Cfengine, Cfengine realiza autenticación por llaves para los que les preocupa la seguridad, usa ssl con un algoritmo propio de ellos, es una aplicacion diseñada para la aplicación a gran escala inclusive en Cfengine.com tienen el slogan de “Autonomous Engineering for the Datacenter”.
Lo mejor de todo es que cfengine se puede conectar con Subversion, lo que nos ayuda a tener archivos de configuración versionados, y podremos decidir restaurarlos cuando queramos.
Encontré este sencillo howto para Centos y este otro para Debian, los unicos que no he encontrado es para windows, ni solaris. Así que no hay excusa para no probarlo vale la pena.
