Configuration management

Bcfg2

Bcfg2 (bee-config two) like every other configuration management tool helps system administrators produce a consistent, reproducible, and verifiable description of their environment, and offers visualization and reporting tools to aid in day-to-day administrative tasks.

But why choose Bcfg2 for configuration management? Below are some point which you should take into consideration when choosing a configrtion management tool.

Maturation

The first release of Bcfg2 was in 2003. Over the past years the source code and the ideas behind the concepts used in Bcfg2 were matured. Bcfg2 is the fifth generation of configuration management tools developed in the Mathematics and Computer Science Division of Argonne National Laboratory and the successor of Bcfg.

Software Dependencies

Bcfg2 is written in Python and the client only requires python-lxml and python-ssl. The server component needs some dependencies if you don’t just want to use the functionality. These very simple requirements are found in most distributions like AIX, FreeBSD, OpenBSD Mac OS X, OpenSolaris, Solaris, and many GNU/Linux distributions including ArchLinux, Debian, Fedora, Mandriva, or openSUSE.

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. This XML structure is very easy to learn and write but still enough powerful to achieve the configuration goals. Other configuration management tools (such as puppet or CFEngine) uses custom languages for the metadata that can be quite hard for the start and become very complex quickly.

Ansible

Ansible is a simple orchestration solution which automates configuration and software deployment. Ansible models the infrastructure by looking at the comprehensive architecture of how all of your systems inter-relate, rather than just managing one system at a time. There is no need for agents or clients and no additional custom security infrastructure. It depends on SSH connections and uses a very simple language (called playbooks) that allows describing the automation in English, rather than writing things that have the complexity of software code.