CFEngine

CFEngine
CFEngine
Cfengine logo.png
Developer(s) Mark Burgess, CFEngine AS
Stable release 3.2.3 / October 25, 2011
Preview release 3.2.0b1 / Jul 04, 2011
Operating system Cross-platform
Platform Unix, Linux, Windows
Type Configuration management System administration Network management
License GNU General Public License
Website www.cfengine.com

CFEngine is a popular open source configuration management system, written by Mark Burgess. Its primary function is to provide automated configuration and maintenance of large-scale computer systems, including the unified management of servers, desktops, embedded networked devices, mobile smartphones, and tablet computers.

Contents

History: CFEngine 1 & CFEngine 2

The CFEngine project began in 1993 as a way for author Mark Burgess (then a post-doctoral fellow of the Royal Society at Oslo University, Norway) to get his work done by automating the management of a small group of workstations in the Department of Theoretical Physics. Like many post-docs and PhD students, Burgess ended up with the task of managing Unix workstations, scripting and fixing problems for users manually. Scripting took too much time, the flavours of Unix were significantly different, and scripts had to be maintained for multiple platforms, drowning in exception logic.

After discussing the problems with a colleague, Bugess wrote the first version of CFEngine (the configuration engine) which was published as an internal report and presented at the CERN computing conference. It gained significant attention from a wider community because it was able to hide platform differences using a domain-specific language.

A year later, Burgess finished his post-doc but decided to stay in Oslo and took at job lecturing at Oslo University College. Here he realized that there was little or no research being done into configuration management, and he set about applying the principles of scientific modelling to understanding computer systems. In a short space of time, he developed the notion of convergent operators, which remains a core of CFEngine.

In 1998, dissatisfied with the level of understanding in the area and the ad hoc discussions of computer security at the time, Burgess wrote "Computer Immunology", a paper at the USENIX/LISA08 conference. It laid out a manifesto for creating self-healing systems, reiterated a few years later by at IBM in their form of Autonomic Computing. This started a research effort which led to a major re-write, CFEngine 2, which added features for machine learning, anomaly detection and secure communications.

CFEngine 3: Promise Theory

Between 1998 and 2004, CFEngine grew in adoption along with the popularity of Linux as a computing platform.

During this time, Mark Burgess developed Promise Theory, a model of distributed cooperation for self-helaing automation.[1].

In 2008, after more than five years of research, CFEngine 3 was introduced, which incorporated Promise Theory as "a way to make CFEngine both simpler and more powerful at the same time," according to Burgess. The most significant re-write of the project to date, CFEngine 3 also integrated knowledge management and discovery mechanisms -- allowing configuration management to scale to automate enterprise-class infrastructure.

Portability

CFEngine provides an operating system-independent interface to Unix-like host configuration. It requires some expert knowledge to deal with peculiarities of different operating systems, but has the power to perform maintenance actions across multiple Unix-like hosts. CFEngine can be used on Windows hosts, and is widely used for managing large numbers of Unix hosts that run heterogeneous operating systems e.g. Solaris, Linux, AIX, and HPUX. Statistics collected by the supporting commercial company CFEngine AS indicate hundreds of thousands of hosts running cfengine, with the largest sites recorded at 50,000.

Research-based

Shortly after its inception, CFEngine inspired a field of research into automated configuration management. The CFEngine project claims to attempt to place the problem of configuration management in a scientific framework. Its author Mark Burgess has developed a range of theoretical tools and results to talk about the problem, and has written several text books and monographs explaining them.

Commercialization

In June 2008 the company CFEngine AS was formed as a collaboration between author Mark Burgess, Oslo University College and the Oslo Innovation Centre in order to support users of CFEngine. In April 2009, the company launched the first commercial version of CFEngine - CFEngine Nova. Current version of CFEngine Nova is 2.0. February 2011, the company received its first round of funding, from FERD Capital. The company has offices in Oslo, Norway and Palo Alto, California, United States of America. Haavard Nord, one of the founders of QT, is the chairman, Thomas Ryd the CEO, and Mark Burgess acts as the CTO.

Convergence

One of the main ideas in CFEngine is that changes in computer configuration should be carried out in a convergent manner[2][3]. This means that each change operation made by the agent should have the character of a fixed point. Rather than describing the steps needed to make a change, CFEngine language describes the final state in which one wants to end up. The agent then ensures that the necessary steps are taken to end up in this "policy compliant state". Thus, CFEngine can be run again and again, whatever the initial state of a system, and it will end up with a predictable result. CFEngine supports the item of statistical compliance with policy, meaning that a system can never guarantee to be exactly in an ideal or desired state, rather one approaches (converges) towards the desired state by best-effort, at a rate that is determined by the ratio of the frequency of environmental change to the rate of CFEngine execution[4].

User base

CFEngine is used in both large and small companies, as well as in many universities and governmental institutions. Sites as large as 50,000 machines are reported, while sites of several thousand hosts running under cfengine are common. According to statistics from the Cfengine AS, probably several million computers run CFEngine around the world, and users from more than 100 countries have been registered.

See also

References

  1. ^ M. Burgess and A. Couch, Autonomic Computing Approximated by Fixed-Point Promises, Proceedings of First IEEE International Workshop on Modelling Autonomic Communication Environments (MACE2006). p197-222. pdf
  2. ^ M. Burgess, Cfengine: a site configuration engine, USENIX Computing systems, Vol8, No. 3 1995 pdf
  3. ^ M. Burgess, Configurable immunity for evolving human-computer systems, Science of Computer Programming 51 2004, p197-213 pdf
  4. ^ M. Burgess, On the theory of system administration, Science of Computer Programming 49, 2003. p1-46 pdf

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Cfengine — Entwickler Mark Burgess Betriebssystem Plattformunabhängig Kategorie Systemsoftware Lizenz GPL Deutschsprachig …   Deutsch Wikipedia

  • Cfengine — Développeur Mark Burgess Dernière version 2.2 …   Wikipédia en Français

  • Cfengine — Infobox Software name = Cfengine caption = developer = Mark Burgess latest release version = 2.2.8 latest release date = Aug 5, 2008 latest preview version = latest preview date = operating system = Cross platform platform = Unix, Linux, Windows… …   Wikipedia

  • Comparison of open source configuration management software — This is a comparison of free (libre) and open source configuration management software. Contents 1 Basic properties 2 Platform support 3 Short descriptions 4 Refere …   Wikipedia

  • Anomaly-based intrusion detection system — An Anomaly Based Intrusion Detection System, is a system for detecting computer intrusions and misuse by monitoring system activity and classifying it as either normal or anomalous . The classification is based on heuristics or rules, rather than …   Wikipedia

  • Configuration management — Top level Configuration Management Activity model Configuration management (CM) is a field of management that focuses on establishing and maintaining consistency of a system or product s performance and its functional and physical attributes with …   Wikipedia

  • CFD — On Wikipedia, CfD may refer to Wikipedia:Categories for discussion. CFD may refer to: Science and computing Computational fluid dynamics, a branch of fluid dynamics Counterfactual definiteness, the ability, quantum mechanics, to consider results… …   Wikipedia

  • Berkeley DB — Original author(s) Margo Seltzer and Keith Bostic of Sleepycat Software Developer(s) Sleepycat Software, later Oracle Corporation Stable release 5.2.28 / June 10, 2011; 5 months ago …   Wikipedia

  • CDDLM — or Configuration Description, Deployment, and Lifecycle Management Specification is a Global Grid Forum standard for the management, deployment and configuration of Grid Service lifecycles or inter organization resources. Structure The… …   Wikipedia

  • Monitoring and Surveillance Agents — (also known as predictive agents) are a type of intelligent agent software that observes and reports on computer equipment. Monitoring and surveillance agents are often used to monitor complex computer networks to predict when a crash or some… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”