En informática , ISconf es una herramienta de software para administrar una red de servidores .
ISconf funciona con un modelo de extracción, lo que significa que incluso los servidores que no estén activos cuando se realice un cambio lo recibirán una vez que vuelvan a estar operativos. A partir de la versión 4, ISconf no requiere un servidor central, aunque sí espera que todos los servidores se inicien de forma idéntica, lo cual se logra más fácilmente mediante algún tipo de instalación automatizada que puede requerir un servidor central.
Teoría
ISconf proviene del movimiento de "Administración de Infraestructura", que creó y definió la mayor parte de los fundamentos del sistema operativo (en términos teóricos) de lo que hoy conforma el ámbito de DevOps . Se basa en la idea de que la mejor manera de evitar que los servidores diverjan es aplicar el mismo conjunto de operaciones en el mismo orden.
Esto contrasta con la teoría de la "convergencia" en la automatización de sistemas, que intenta "converger" los servidores a estados conocidos desde estados arbitrarios mediante conjuntos de reglas como "si hay un paquete instalado fuera de este conjunto, desinstálelo", "si el paquete X no está instalado, instálelo" o "si el demonio X no se está ejecutando, inícielo". Según Steve Traugott, no hay forma de garantizar que un conjunto de reglas determinado pueda converger realmente desde cualquier estado dado.
ISconf impone el orden de las operaciones asumiendo que solo los comandos emitidos a través de él modifican el estado del sistema. Por lo tanto, si un paquete o archivo se instala manualmente, permanecerá allí, lo que podría causar problemas como conflictos de versiones. ISconf está diseñado para entornos donde las configuraciones deben permanecer idénticas. En estos entornos, es habitual otorgar acceso de administrador a los hosts solo a unos pocos administradores de sistemas. Esto minimiza el riesgo de cambios manuales, ya que es fácil capacitar a un pequeño grupo de personas para que realicen cambios únicamente a través de ISconf.
ISconf se inspiró en los Makefiles y se implementó originalmente como tal. Sin embargo, los Makefiles especifican dependencias y no un orden total de las operaciones. La versión 1 de ISconf solucionó esto haciendo que cada operación dependiera de la anterior, pero esto era tedioso y poco adecuado para Make. Las versiones más recientes de ISconf utilizan un registro simple de solo escritura.
Versiones principales
Las versiones más utilizadas, al parecer, eran ISconf2 e ISconf3, mientras que ISconf4 permaneció en una fase beta muy prolongada. De hecho, ya estaba terminada y se utilizaba en entornos de mayor tamaño, pero debido a la demora, su adopción por parte de la comunidad fue limitada.
- ISconf 1 (Makefiles)
- ISconf 2 (¿principios de la década de 2000?) escrito por Steve Traugott
- ISconf 3 (2002) fue una reescritura de la versión 2 realizada por Luke Kanies.
- ISconf 4 fue escrito en su mayor parte por el autor original, Steve Traugott.
Trivialidades
Luke Kanies pasó posteriormente a CFengine2 , hasta que finalmente creó y lanzó Puppet . Como resultado, se podría considerar a ISconf un antecesor de Puppet, aunque tanto CFengine como Puppet implementan el modelo de "convergencia" de gestión de configuración, esencialmente lo opuesto al modelo de "orden de operaciones" implementado por al menos las versiones 1, 2 y 4 de ISconf.
Véase también
Enlaces externos
- Sitio web de ISconf
- "Bootstrapping an Infrastructure" , el artículo de Steve Traugott y Joel Huddleston presentado en LISA '98 sobre las ideas que dieron origen a ISconf (anterior a la propia ISconf).
- Descripción de Lukes sobre los antecedentes teóricos y los objetivos de ISconf 3.
- Sección teórica y archivos de la lista de correo para la automatización de la gestión de sistemas.
- Repositorio de Github para ISconf4
- Gestión de la configuración