In 2008, the release of Cfengine 3 marked a re-vitalization of Cfengine's tried-and-tested configuration technology by bringing a fusion of two new ideas: promises and patterns to its already well-known convergent maintenance. Today, Cfengine 3's new list processing capability reduces many configuration issues to simple list management, using a paradigm that every one understands: access lists.
Cfengine Nova 1.1 is the bi-annual upgrade of the Nova edition, containing new features and bug-fixes for new and existing users. New in this release is native support for Windows platforms, including registry management and Windows service support. Nova 1.1 offers an updated semantic Knowledge Map featuring a clearer, improved style and new reports for compliance troubleshooting and business value.
A new feature in the Cfengine Community Core is attracting some interest from system administrators. It is the simplest of ideas, but then such ideas are often the best.
Following the development of the community standard library, Cfengine has now released a conversion utility that transforms existing Cfengine 2 policies into a basic Cfengine 3 format. The output can be run in either the Community Edition, Cfengine Nova or any other version of Cfengine going forward.
Neil Watson has generously made some Vim plugins available for Cfengine 3.
Aleksey Tsalolikhin has written a helpful blog post introducing Cfengine 3.
Cfengine is built on promises. Promises were chosen as the model for Cfengine's configuration language, because they represent an expression of intention. But expressing your exact intentions in a safe and convergent way (according to the standards you expect from Cfengine) can sometimes be daunting and can result in haphazard nomenclature.
Cfengine began in the early part of 1993. It was the first Open Source configuration management tool and quickly became an internationally used tool. Since then, Cfengine has been reinvented several times through our commitment to basic research, and today Cfengine is installed on over a million computers all over the world.
A popular theme in science fiction writing today involves microscopic machines that build and repair other machines, clothing and even people. Today scientists are researching this very thing. Our future may be bright indeed. For system administration nano technology is already here.
There is a new article up on the community site explaining the Cfengine methodology and comparing it to some other approaches.
Over the last few months the Cfengine AS development team has added better integration for Cfengine Nova with windows (without need of Cygwin). The most recent development is support for Windows event logs. Event logs are the Windows counterpart to syslog from Unix. The main difference is that event logs aim to group similar log messages, giving each group an event id.
How big are existing cfengine installations? Until recently, this question was mostly of interest to people researching approaches to automation and scaling.
In spite of being publicly sceptical of cloud computing as a technological concept Cfengine author Mark Burgess announced that Cfengine will support machine and service virtualization within its framework of convergent promises, in order to facilitate the kind of adaptive utility computing that is a growing presence in datacenters. "Elastic adaptation is the one aspect of what is being called Cloud Computing that I see as a real technological challenge," he added. "I have done some research on this with Alva Couch of Tufts University, while he visited Oslo on sabbatical last year, and we have some interesting twists to bring to the table -- without letting the cat out of the bag yet." Initially, Cfengine will interface with popular virtual machine APIs, such as VMware, KVM and others in order to provide basic VM management in a simple way.
Following a sustained effort by the programming team at Cfengine AS, Cfengine Nova (the commercial version of Cfengine 3) will run natively on Windows NT platforms (not merely emulated under the Cygwin framework), with first release just into the new year 2010. Support has been added for registry management and Windows Access Control Lists, as well as integration with Event Manager and other goodies.
New features have been added to the Cfengine development tree, both Community Edition and Cfengine Nova, for list manipulation. The grep() function takes a list and extracts elements that match a given regular expression, returning a sublist. The join() function, which complements splitstring() function, takes a list and returns a scalar string with elements separated by a delimiter. These functions provide Perl-like operations that reduce the dependence on external scripting. List manipulation is a key enhancement in Cfengine 3, and forms a core paradigm for reducing configuration complexity.
A cfengine2 to cfengine3 conversion codebook was promised today for community users. The book should be available before Christmas 2009 and will constitute a cookbook of recipes for translating code into the new form. Cfengine Nova supported customers can look forward to a program to assist in the conversion of old Cfengine policies into the superior Cfengine 3 language, speeding things up further. No direct conversion of policies is possible for users, since there are new features in the cfengine 3 language, including auto-documention of the cfengine code that must be added by cfengine engineers. The comments and dependency data enhance reporting of error and log messages and allow reports to be added in the commercial version. These annotations document the intentions behind policy and form the basis of the Cfengine Nova Knowledge Map.
Cfengine is deployed in the world's largest datacentres, the homes of basic Internet services, Cloud Computing and Application Service Providers. Now efforts are underway to better support the key virtualization technologies that are making inroads into hosting centres, to allow better utilization of servers, with the popular technologies including Red-Hat KVM, VMware, and Xen. Investigate the features in the Cfengine 3 Community Edition, or learn about our simplified BDMA framework of Cfengine Nova.
Mark Burgess recently gave a presentation on Promise Theory and Cfengine 3 at Google on his way to LISA 08.
"A Promising Approach to Management" is the subtitle of an essay written by Mark Burgess that develops the philosphy that has made cfengine a flexible and successful solution for autonomic computer management. But there is more to this essay than a cute jingle. According to its author, we should think less about the details of our technologies and more about the promises we make.