What is Configuration Management?


Configuration management is an essential foundation for a successful technology platform. Leaders in the tech space will want to know what it takes to implement it. If that’s what you are searching for, we will discuss some important points in this article:

  • What configuration management is and where it originated from.
  • The advantages of configuration management.
  • How configuration management fits with concepts like agile and DevOps.
  • How you can get started with configuration management.
What Is Configuration Management?

Configuration management is a way of ensuring all software and hardware assets of a company are known and tracked. Additionally, any future modifications to these assets will be known and tracked. Configuration can be classified as an up-to-date inventory for your technology assets. 

Configuration Management and Planning

Configuration management typically spans a few areas. It’s sometimes linked to different ideas such as creating a software downpipe to build and test software artifacts. Alternatively, it can  relate to writing infrastructure-as-code to capture the present state of our infrastructure. This could mean integrating configuration tools such as Puppet, Ansible and Chef to store the current state of our servers. 

Where Did Configuration Management Originate?

Essentially, the software industry borrowed the idea of configuration management. The initial idea of configuration management comes from other institutions like the military. This idea was retrofitted into a software context.

How We Make Software Has Changed Over Time

Configuration management was normally a manual task that a systems administrator would complete. However, the IT industry has changed completely. These changes came as a result of the popularity of DevOps, new automation tooling and increase in cloud computing. 

What the World Looks Like With Configuration Management

Before exploring different tools for configuration management, we need to know the result we will get for our efforts. What are the results of well-implemented configuration management?

  1. Disaster Recovery

If the worst thing occurs, configuration management ensures that our assets are easily recoverable. Configuration management is also useful in the code inputting process because we can go back to the state of our software before the modification was made.  

  1. Uptime and Site Reliability

The term site reliability denotes how regular your service is up. If downtime occurs in a company, each second of downtime can cost the organization thousands of dollars.

A regular cause of downtime is bad deployments. This can be caused by differences in running production services to test servers. If the configuration of an organization is properly managed, the test environments can mimic production. Therefore, there is less chance of a horrible surprise. 

  1. Easier Scaling

Provision is the act of including more resources such as servers to our running application. Configuration management ensures that we know the taste of good service. This will help us to increase the number of servers that we can run. This is typically a case of clicking a button or running a script. The objective is to make provisioning a non-event. 

The above are some of the advantages of configuration management. There are some other benefits, too. You will experience quicker and better collaboration between teams, onboarding of new team members and extended software lifecycle of assets or products.

The World Without Configuration Management

Sometimes it’s stress-free to understand a concept without knowing its effect. What does trouble look like for configuration management and what do we try to avoid?

A developer applying a feature will mostly install some bits of software and deploy code. If things are messy, this developer will probably make the team and manager aware of the intention to come back and clean it up.

However, when the deadline starts pressing and rewriting the installation steps as a script gets reduced and lower in priority, it tends to be neglected. Before anyone knows it, years have passed and a new developer is assigned to the project. That developer will now be left with pieces, trying to find out what happened.

The above situation is exactly what configuration management avoids. No IT professionals want to be left in the dark because of developers setting up software without traceability or documentation. Rather, we want to know answers to the following questions:

  • What services are we running?
  • What state are those services in?
  • How did they get to their current state?
  • What was the purpose of the modifications?

Configuration management can provide answers to all these questions. This shows a clear picture of what configuration management is trying to proffer solutions to.

Purpose of Configuration Management

Within a project, the purpose of configuration is to detect, track and protect the project’s deliverables or products from unauthorized change. Configuration management gives specific control over the project’s assets which allows the managers to:

  • Maintain an up-to-date record containing these pieces of information.
  • Specify the versions of products in use and hold information on their status, who owns them and relationships between them.
  • Audit the records to ensure that they contain authorized products.
  • Control changes to the products and ensure that changes are made only with the agreement of appropriate named authorities.

Conclusively, configuration management is an essential tool for managing complex software systems. Lack of configuration management may cause serious issues with uptime, reliability and the ability to scale a system. Nowadays, many software development tools have in-built configuration management features.


Photo by ThisisEngineering RAEng on Unsplash

Written by Kent Weigle

Leave a Reply


    See all

    Related Post

    Strong Cyber Hygiene is only One Click Away

    Want to take TOPIA for a free ride? Schedule A Meeting with our 🐺team!

    Let us know what would like to see 😀