Este artículo se basa en gran parte o en su totalidad en una sola fuente . ( agosto de 2014 ) |
Lanzamiento inicial | 1993 |
---|---|
Versión estable | 3.24.0, [1] 3.21.5, [2] 3.18.8, [3] / 22 de julio de 2024 |
Repositorio |
|
Escrito en | do |
Sistema operativo | Multiplataforma |
Plataforma | Similar a Unix , Windows |
Tipo | Gestión de configuración Administración del sistema Gestión de red |
Licencia | Licencia Pública General GNU versión 3 |
Sitio web | cfengine.com |
CFEngine es un sistema de gestión de configuración , escrito por Mark Burgess . Su función principal es proporcionar configuración y mantenimiento automatizados de sistemas informáticos a gran escala, incluida la gestión unificada de servidores , equipos de escritorio , dispositivos industriales y de consumo, dispositivos de red integrados, teléfonos inteligentes móviles y tabletas .
Publicado bajo los términos de la Licencia Pública General GNU , CFEngine es software libre .
El proyecto CFEngine comenzó en 1993 como una forma para que el autor Mark Burgess (en ese entonces becario postdoctoral de la Royal Society en la Universidad de Oslo , Noruega ) hiciera su trabajo automatizando la gestión de un pequeño grupo de estaciones de trabajo en el Departamento de Física Teórica. Burgess administraba estaciones de trabajo Unix, creando scripts y solucionando problemas para los usuarios manualmente. La creación de scripts llevaba demasiado tiempo, las versiones de Unix eran significativamente diferentes y los scripts debían mantenerse para múltiples plataformas, ahogándose en la lógica de excepciones. Después de discutir los problemas con un colega, Burgess escribió la primera versión de CFEngine ( el motor de configuración ) que se publicó como un informe interno [4] y se presentó en la conferencia de computación del CERN. Obtuvo una atención significativa de una comunidad más amplia porque ocultó las diferencias de plataforma utilizando un lenguaje específico del dominio.
Un año después, Burgess terminó su posdoctorado, pero decidió quedarse en Oslo y aceptó un trabajo como profesor en el Oslo University College . Allí se dio cuenta de que se estaban realizando pocas o ninguna investigación sobre la gestión de la configuración y se propuso aplicar los principios del modelado científico para comprender los sistemas informáticos. Desarrolló el concepto de operadores convergentes, que sigue siendo un elemento central de CFEngine.
En 1998, Burgess escribió "Computer Immunology", un artículo en la conferencia USENIX/LISA98. [5] En él se exponía un manifiesto para la creación de sistemas de autocuración, que IBM reiteró unos años más tarde en su forma de Computación Autónoma . Esto dio inicio a un esfuerzo de investigación que condujo a una importante reescritura, CFEngine 2 , que añadió funciones para el aprendizaje automático, la detección de anomalías y las comunicaciones seguras.
Entre 1998 y 2004, CFEngine creció en adopción junto con la popularidad de Linux como plataforma informática. Durante este tiempo, Mark Burgess desarrolló la teoría de promesas , un modelo de cooperación distribuida para la automatización de autocuración. [6] [7] En 2008, después de más de cinco años de investigación, se presentó CFEngine 3 , que incorporó la teoría de promesas como "una forma de hacer que CFEngine sea más simple y más poderoso al mismo tiempo", según Burgess. La reescritura más significativa del proyecto hasta la fecha, CFEngine 3 también integró mecanismos de descubrimiento y gestión del conocimiento, lo que permitió que la gestión de la configuración se escalara para automatizar la infraestructura de clase empresarial.
En junio de 2008, se formó la empresa CFEngine AS como una colaboración entre el autor Mark Burgess, la Universidad de Oslo y el Centro de Innovación de Oslo con el fin de apoyar a los usuarios de CFEngine. En abril de 2009, la empresa lanzó la primera versión comercial de CFEngine: CFEngine Enterprise. La versión Enterprise se puede descargar de forma gratuita para hasta 25 agentes (clientes). En febrero de 2011, la empresa recibió su primera ronda de financiación de FERD Capital. [8] La empresa tiene oficinas en Oslo, Noruega y Mountain View, California, EE. UU.
En 2017, la empresa cambió su nombre a Northern.tech, para reflejar que está trabajando en múltiples productos de software, no solo CFEngine. [9]
Una de las ideas principales de CFEngine es que los cambios en la configuración de la computadora deben realizarse de manera convergente . [10] [11] Esto significa que cada operación de cambio realizada por el agente debe tener el carácter de un punto fijo . En lugar de describir los pasos necesarios para realizar un cambio, el lenguaje CFEngine describe el estado final en el que uno quiere terminar. El agente luego se asegura de que se tomen los pasos necesarios para terminar en este "estado de cumplimiento de la política". Por lo tanto, CFEngine se puede ejecutar una y otra vez, sea cual sea el estado inicial de un sistema, y terminará con un resultado predecible. CFEngine admite el elemento de cumplimiento estadístico con la política, lo que significa que un sistema nunca puede garantizar estar exactamente en un estado ideal o deseado, sino que uno se acerca (converge) hacia el estado deseado mediante el mejor esfuerzo, a una velocidad que está determinada por la relación entre la frecuencia del cambio ambiental y la velocidad de ejecución de CFEngine. [12]
CFEngine proporciona una interfaz independiente del sistema operativo para la configuración de hosts de tipo Unix . Requiere un cierto conocimiento experto para manejar las peculiaridades de los diferentes sistemas operativos, pero tiene el poder de realizar acciones de mantenimiento en múltiples hosts. CFEngine también se puede utilizar en hosts Windows y se utiliza ampliamente para administrar grandes cantidades de hosts Unix que ejecutan sistemas operativos heterogéneos , por ejemplo , Solaris , Linux , AIX , Tru64 y HP-UX . [ cita requerida ]
CFEngine se utiliza tanto en empresas grandes como pequeñas, así como en muchas universidades e instituciones gubernamentales. [ cita requerida ] El centro de datos más grande reportado bajo la gestión de CFEngine tiene más de un millón de servidores, mientras que sitios de hasta 40.000 máquinas se informan públicamente ( LinkedIn [13] ), mientras que los sitios de varios miles de hosts que se ejecutan bajo CFEngine son comunes. [ cita requerida ] Según las estadísticas de CFEngine AS, probablemente varios millones de computadoras ejecutan CFEngine en todo el mundo, y se han registrado usuarios de más de 100 países.
Poco después de su creación, CFEngine inspiró un campo de investigación sobre la gestión automatizada de la configuración. El proyecto CFEngine pretende situar el problema de la gestión de la configuración en un marco científico. Su autor, Mark Burgess, ha desarrollado una serie de herramientas y resultados teóricos para hablar del problema y ha escrito varios libros de texto y monografías que los explican. [ cita requerida ]