PICA: Perl Installation and Configuration Agent: Una solución inteligente para administración de sistemas | ||
---|---|---|
Anterior | Siguiente |
Teniendo en cuenta nuestra experiencia usando PIKT, queríamos intentar evitar los errores de éste en nuestro nuevo proyecto. Por esta razón, aprovechamos ideas del PIKT, pero lo diseñamos todo desde cero. Usamos un lenguaje de programación diferente (Perl), y unos ficheros de configuración y de entrada con una sintaxis completamente distinta, diseñada acorde con nuestros objetivos. Queríamos mantener la filosofía del PIKT, pero cambiar el enfoque y la mentalidad en cuanto a las herramientas.
Los principios de diseño de PICA son:
Deben usarse herramientas existentes que funcionen bien. De ahí que se use SSH para todas las transferencias.
La seguridad tiene que tenerse en cuenta. Toda la información va cifrada, y no se requiere que PICA tenga permisos especiales para hacer su trabajo.
Todo debe ser lo más flexible posible, para no tener que estar haciendo extensiones de la sintaxis o de la funcionalidad una y otra vez.
La simplicidad y linealidad son buenas a largo plazo. Por ello, todos los ficheros de configuración se preprocesan antes de leerse, y todas las condiciones del preprocesador de PICA no son más que expresiones en Perl genéricas. Los casos particulares comunes se tratan con funciones en Perl declaradas visiblemente en un paquete para tal efecto.
A la hora de trabajar, PICA se apoya en los siguientes conceptos:
Máquinas. Para PICA, conceptualmente las máquinas siempre son remotas, es decir, todo se copia siempre mediante órdenes ssh.
Objetos. Son los ficheros que PICA distribuye a las máquinas. Estos ficheros pueden ser ficheros normales o alarmas, que tienen un tratamiento especial en algunos casos. Hablaremos de éstas más tarde.
Grupos. Podemos agrupar tanto las máquinas como los objetos con nombres fáciles de manejar. Además, las alarmas son grupos implícitos, que pueden contener otros objetos (ficheros normales, nunca otras alarmas). Estos objetos se tratan como dependencias, es decir, siempre que se instale esa alarma deben instalarse también las dependencias.