This software automates the configuration of machines to a particular state. Like any other tools, they are designed to solve specific problems in certain ways. The goal is to get a system from whatever state it is in, into the desired state. Configuration management software are the tools of choice for many system administrators and devops professionals.