What is Configuration Management?

One practise that originated from Ops into DevOps is configuration management. But what is it? It simply started as the practice of handling changes systematically so that a system maintains its integrity over time. But soon, as the tools evolved and the developers got involved, it became a fundamental technique for automating deployments of systems and services.

Definition of Configuration Management from Wikipedia:

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. 

You can appreciate how Configuration Management is a major component in Test-Driven DevOps. This is why we are covering this here.

Tools of the Trade

In my lightning talk “Ansible vs Puppet” to the Bristol DevOps Meetup, I covered the range of CM tools - from Fabric to Teraform: