CFEngine es un sistema de gestión de configuración de código abierto , escrito por Mark Burgess . Su función principal es proporcionar configuración y mantenimiento automatizados de sistemas informáticos a gran escala, incluida la administración unificada de servidores , computadoras de escritorio , dispositivos industriales y de consumo, dispositivos integrados en red, teléfonos inteligentes móviles y tabletas .
Versión inicial | 1993 |
---|---|
Lanzamiento estable | |
Repositorio | |
Sistema operativo | Multiplataforma |
Plataforma | Tipo Unix , Windows |
Tipo | Gestión de la configuración Administración del sistema Gestión de la red |
Licencia | Licencia pública general GNU versión 3 |
Sitio web | cfengine |
Historia
CFEngine 1
El proyecto CFEngine comenzó en 1993 como una forma para que el autor Mark Burgess (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 Teoría. Física. Al igual que muchos estudiantes de posdoctorado y doctorado, Burgess terminó con la tarea de administrar las estaciones de trabajo Unix, crear scripts y solucionar problemas para los usuarios manualmente. La creación de scripts tomó demasiado tiempo, los sabores de Unix eran significativamente diferentes y los scripts tuvieron que 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 [3] y se presentó en la conferencia informática del CERN. Obtuvo una atención significativa de una comunidad más amplia porque pudo ocultar las diferencias de plataforma utilizando un lenguaje específico de dominio.
Un año después, Burgess terminó su posdoctorado, pero decidió quedarse en Oslo y aceptó un trabajo como profesor en la Universidad de Oslo . Aquí se dio cuenta de que se estaba haciendo poca o ninguna investigación sobre la gestión de la configuración , y se dedicó a aplicar los principios del modelado científico para comprender los sistemas informáticos. En poco tiempo, desarrolló la noción de operadores convergentes , que sigue siendo un núcleo de CFEngine.
CFEngine 2
En 1998, Burgess escribió "Inmunología informática", un artículo en la conferencia USENIX / LISA98. [4] Estableció un manifiesto para la creación de sistemas de autocuración, reiterado unos años más tarde por IBM en su forma de Autonomic Computing . Esto inició un esfuerzo de investigación que condujo a una reescritura importante, CFEngine 2 , que agregó funciones para el aprendizaje automático, la detección de anomalías y las comunicaciones seguras.
CFEngine 3
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 la promesa , un modelo de cooperación distribuida para la automatización de autorreparación. [5]
En 2008, después de más de cinco años de investigación, se introdujo CFEngine 3 , que incorporó la teoría de la promesa como "una forma de hacer CFEngine más simple y más poderoso al mismo tiempo", según Burgess. CFEngine 3, la reescritura más significativa del proyecto hasta la fecha, también integró la gestión del conocimiento y los mecanismos de descubrimiento, lo que permite escalar la gestión de la configuración para automatizar la infraestructura de clase empresarial.
Comercialización
En junio de 2008, la empresa CFEngine AS se formó como una colaboración entre el autor Mark Burgess, el Oslo University College y el Centro de Innovación de Oslo para apoyar a los usuarios de CFEngine. En abril de 2009, la compañía 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. [6] La empresa tiene oficinas en Oslo, Noruega y Mountain View, California, Estados Unidos.
En 2017, la compañía cambió su nombre a Northern.tech , para reflejar que está trabajando en múltiples productos de software, no solo en CFEngine. [7]
Caracteristicas
Portabilidad
CFEngine proporciona una interfaz independiente del sistema operativo para una configuración de host similar a Unix . Requiere cierto conocimiento experto para lidiar con las peculiaridades de diferentes sistemas operativos, pero tiene el poder de realizar acciones de mantenimiento en múltiples hosts. CFEngine también se puede utilizar en hosts de Windows y se usa ampliamente para administrar un gran número de hosts Unix que ejecutan sistemas operativos heterogéneos , por ejemplo , Solaris , Linux , AIX , Tru64 y HP-UX .
Basado en la investigación
Poco después de su inicio, CFEngine inspiró un campo de investigación sobre la gestión automatizada de la configuración. El proyecto CFEngine pretende intentar 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 teóricas y resultados para hablar sobre el problema, y ha escrito varios libros de texto y monografías explicándolos.
Convergencia
Una de las ideas principales de CFEngine es que los cambios en la configuración de la computadora deben realizarse de manera convergente . [8] [9] 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. Luego, el agente se asegura de que se tomen las medidas necesarias 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 apoya el ítem de cumplimiento estadístico de 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 tasa que está determinada por el Relación entre la frecuencia del cambio ambiental y la tasa de ejecución de CFEngine. [10]
Usuario base
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 bajo la administración de CFEngine tiene más de un millón de servidores, mientras que los sitios tan grandes como 40,000 máquinas se informan públicamente ( LinkedIn [11] ), 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.
Competidores
- Ansible
- Cocinero
- Nutria
- Marioneta
- Sal
Ver también
- Comparación de software de gestión de configuración de código abierto
- Sistema de detección de intrusos basado en anomalías
- Sistema de detección de intrusos basado en host
- Timón (software)
Referencias
- ^ Equipo y comunidad de CFEngine . "CFEngine 3.18 LTS lanzado - Extensibilidad" . Northern.tech AS.
- ^ a b Equipo y comunidad de CFEngine . "CFEngine 3.12.7 y 3.15.4 liberados" . Northern.tech AS.
- ^ Burgess, Mark . "Universidad de Oslo: Cfengine V2.0: una herramienta de configuración de red" (PDF) . Iu.hio.no. Archivado desde el original (PDF) el 23 de julio de 2013 . Consultado el 8 de septiembre de 2013 .
- ^ Burgess, Mark (diciembre de 1998). "Inmunología informática" (PDF) . Usenix.org . Consultado el 8 de septiembre de 2013 .
- ^ Burgess, Mark ; Couch, Alva (28 de noviembre de 2006). "Computación autónoma aproximada por promesas de punto fijo, Actas del primer taller internacional IEEE sobre el modelado de entornos de comunicación autónoma (MACE2006)" (PDF) . págs. 197–222. Archivado desde el original (PDF) el 25 de abril de 2012.
- ^ "Cfengine Completes Series A Investment" (Comunicado de prensa). Oslo, Noruega: PRNewswire . 2011-04-04 . Consultado el 22 de agosto de 2014 .
- ^ "Bienvenido a Northern.tech" . northern.tech . Consultado el 24 de septiembre de 2019 .
- ^ Burgess, Mark (verano de 1995). "Cfengine: un motor de configuración del sitio" (PDF) . Sistemas informáticos USENIX . Berkeley, CA, EE.UU .: USENIX . 8 (3) . Consultado el 22 de agosto de 2014 .
- ^ Burgess, Mark (29 de noviembre de 2003). "Inmunidad configurable para sistemas humanos-informáticos en evolución" (PDF) . Ciencia de la Programación de Computadores . 51 (3): 197–213. doi : 10.1016 / j.scico.2003.12.004 . Archivado desde el original (PDF) el 2012-03-03.
- ^ Burgess, Mark (2003). "Sobre la teoría de la administración de sistemas" (PDF) . Ciencia de la Programación de Computadores . 49 : 1–46. doi : 10.1016 / j.scico.2003.08.001 . Archivado desde el original (PDF) el 24 de julio de 2011.
- ^ "Estudio de caso de CFEngine: automatización de operaciones e infraestructura de LinkedIn en WebScale" (PDF) . CFEngine AS. Noviembre de 2014.
enlaces externos
- Página web oficial
- Charla de Mark Burgess sobre CFEngine @ Google Tech Talks en YouTube