Configuration Management Consulting

We have extensive experience with configuration management solutions using Bcfg2. Contact us and let us help solve your configuration nightmare.

Bcfg2 is a system management tool that aids in the infrastructure management lifecycle – configuration analysis, service deployment, and configuration auditing. It includes tools for visualizing configuration information, as well as reporting tools that help administrators understand configuration patterns in their environments. Bcfg2 operates using a simple model of system configuration, modeling intuitive items like packages, services and configuration files (as well as the dependencies between them). This model of system configuration is used for verification and validation, allowing robust auditing of deployed systems.

The following are just a few reasons why we recommend you choose Bcfg2 for your environment:


While not as mature as Cfengine, Bcfg2 has been around since 2003. It was originally developed at the Mathematics and Computer Science Division and Argonne National Laboratory. It has grown over the years into a very well-supported community project with a number of contributors from all different sectors.

Software Dependencies

Bcfg2 is written in Python which comes preinstalled by default on most Unix/Linux platforms. The client only requires python-ssl (or a recent version of python) and varying other dependencies depending on your toolset. The server has an additional dependency of lxml and possibly others depending on your choice of plugin use. These prerequisites are found in the main software repositories of most distributions.

Bcfg2 does not require installing an additional scripting language (like ruby) or other difficult/invasive dependencies on current or older systems.

Metadata Format

Bcfg2 uses a very simple XML schema for its metadata. Most of the XML found in a typical Bcfg2 repository can be generated in an automated fashion using tools distributed with Bcfg2. In addition, using XML to store the metadata allows you to easily validate your specification on any platform as xml parsers and validators are widely available. The use of XML is also an artifact of the declarative nature of Bcfg2 which differs vastly from most configuration management tools.

This XML specification is fairly easy to learn and write but still powerful enough to achieve complex configuration goals. Other configuration management tools often use custom languages for metadata that can be quite difficult to understand and use to extract configuration.

Open Source

The Bcfg2 software is distributed under a modified BSD license. However, we believe that open source software alone does not necessarily provide the optimal open source experience. There also needs to be a consideration of the community surrounding a project. This is another reason we like Bcfg2. There is not a commercial company driving Bcfg2 development or support. Bcfg2 is a community-driven project, despite being hosted by the good folks at Argonne National Laboratory.


The Bcfg2 reporting system allows administrators to gain a broad understanding of the configuration state of their entire environment. This is one of the killer differentiating features of Bcfg2. You can find more information at the Bcfg2 documentation.