This content is part of the Essential Guide: Use these DevOps examples to reimagine an IT organization

IT shops without a configuration management process fall behind

With all the layers of hybrid IT deployments, it's hard to keep up with the current correct configuration. As soon as you do, something will change.

Think about your IT platform: the servers, storage systems, network boxes; the interconnections between owned and colocation data centers; and the functions being pulled in from public cloud environments. Maybe you knew what it looked like a year/month/day/hour ago. What about right now?

The overall composition of an IT platform is changing too rapidly for the change and configuration management process to be run from spreadsheets -- or by luck. There is now a need for greater automation, so that the little tasks can be dealt with effectively, efficiently and without fuss.

Although configuration management tools have been available for years, market penetration is still woefully low. Lagging adoption could signal that the grease monkeys of IT are unwilling to hand over control of patching and updates, or a prevailing fear that the tool will mess up configurations.

An organization that is willing to set aside that reluctance can move to an IT platform that is fit for purpose -- being the proper support of the business.

With virtualization and cloud computing becoming the norm, the effort to manually manage thousands of CPUs, petabytes of storage and multiple network boxes spread across many sites must be more streamlined.

IT configuration management tool capabilities

At minimum, the configuration management process and tooling should include:

  • Discovery. This should find exactly what's there, from hardware through to software. It also should be able to deal with physical and virtual systems, so it can manage VMs, containers and pools of resources.
  • Component database. What state are each of the IT assets in? For example, a tool should identify which capabilities a server has: CPU speed, type of motherboard, amount of RAM, internal disk storage, NIC cards and so on.
  • Status. You'll want to know how healthy these components are. For example, with a disk drive, can the SMART details be pulled out and examined? Can the network interface card port logs be examined for data collisions and undelivered packets of data?
  • Version logging. A configuration management tool should find and log all the device drivers and their levels.
  • Software. This capability should identify each program being used, noting specifics on version and patch level.

Then, the actual value of configuration control can be built up. Rationalizing systems at the patch and update level can dramatically simplify root-cause analysis of a problem. The configuration management process ensures that everything is running at the latest possible version, and that the overall platform is therefore at its optimum effectiveness.

A configuration management system can verify that what is being pushed out is suitable for the IT deployment receiving the updates. For example, a tool will check that there is enough storage or memory space to take the update. You'll know if a specific system is incompatible with the update, requiring intermediate steps.

In many cases, these issues can be resolved through automation within the tool. Where automation can't get the job done, exceptions allow manual intervention to be made as required.

Configuration management allows teams to bundle patches and updates and push them out across highly distributed IT platforms -- without the need for skilled personnel at the receiving end. As updates made in a controlled manner, in many cases, it is a single package that is pushed over the wide area network and then used across multiple machines at the receiving end. This minimizes the impact on WAN utilization.

Things will go wrong, of course. It is the law of IT. Even where the IT configuration management tool has fully examined a system and deduced that it has all the necessary capabilities, it might fail the attempt to apply the update. A good configuration management process includes the ability to roll back to the last known good position. An excellent tool will understand whether it needs to roll back the whole IT platform or whether it can continue by raising exceptions for specific systems.

Mind the simple things

As we continue to move at speed into a dynamic IT environment, flexibility in how we deal with that changing platform becomes ever more crucial.

Automating the simple things should be a good starting point. Always remember that a human may get things right the first 99 times; and then on the 100th attempt foul up things to a point where the IT platform no longer works.

When it is properly instituted, an automated system will continue to get it right, time after time. And that is just what the business needs.

Next Steps

Take a tour of today's open source systems management technologies

See how other companies are implementing configuration management, to unify development and operations, convert to immutable infrastructure and more

Dig Deeper on Configuration Management and DevOps