Configuration Management

Configuration management (CM) is a Systems Engineering process for establishing and maintaining consistency of a product's performance, functional and physical attributes with its requirements, design and operational information throughout its life.[1][2] The CM process is widely used by military engineering organizations to manage complex systems, such as weapon systems, vehicles, and information systems. Outside the military, the CM process is also used with IT service management as defined by ITIL, resp. ISO/IEC 20000, and with other domain models in the Civil Engineering and other Industrial Engineering segments such as roads, bridges, canals, dams, and buildings... CM is the practice of handling changes systematically so that a system maintains its integrity over time... Ideally the CM process is applied throughout the system Life Cycle... The traditional software configuration management (SCM) process is looked upon by practitioners as the best solution to handling changes in software projects... Configuration management can be used to maintain OS configuration files.[11] Example systems include Quattor, C F Engine, Bcfg2, Puppet, Ansible, Vagrant and Chef.

"Configuration" is generally understood to cover changes typically made by a system administrator (SysAdmin); management of Source Code undergoing software development is considered separately (see revision control - Version Control).

In typical use, is focused on defining configuration of servers so that multiple machines can be added/updated in an automated/consistent way. (cf Hosted Server)

Ansible (Python)


Puppet (Ruby)

Salt (Python)

Vagrant (Ruby)

  • Sept'2015: succeeded by Otto?

Edited:    |       |    Search Twitter for discussion