Without automation, building and maintaining large-scale modern IT systems can be a resource-intensive undertaking and can lead to increased risk due to manual error. Configuration and resource management is an automated method for maintaining computer systems and software in a known, consistent state.
There are several components in a configuration management system. Managed systems can include servers, storage, networking, and software. These are the targets of the configuration management system. The goal is to maintain these systems in known, determined states. Another aspect of a configuration management system is the description of the desired state for the systems. The third major aspect of a configuration management system is automation software, which is responsible for making sure that the target systems and software are maintained in the desired state.
The primary benefit of configuration management is consistency of systems and software. With configuration management, you no longer guess or hope that a configuration is current. It is correct because the configuration management system ensures that it is correct.
When combined with automation, configuration management can improve efficiency because manual configuration processes are replaced with automated processes. This also makes it possible to manage more targets with the same or even fewer resources.
Configuration management is important because it enables the ability to scale infrastructure and software systems without having to correspondingly scale administrative staff to manage those systems. This can make it possible to scale where it previously wasn’t feasible to do so.
It is common for configuration management tools to include automation too. Popular tools are:
Configuration management and change management are two closely related but different terms. Configuration management deals with the state of any given infrastructure or software system at any given time. Change management, in contrast, deals with how changes are made to those configurations. Think of it this way: configuration management is the configuration at any given time, and change management is the process for proposing, reviewing, implementing, and potentially rolling back changes to those configurations.
DevOps opens the door for continuous innovation, rapid software deployment, and frequent updates to software-based features and products.