Configuration
management (CM) is a governance and systems engineering process
for ensuring consistency among physical and logical assets in an operational
environment. The configuration management process seeks to identify and
track individual configuration items (CIs), documenting functional
capabilities, and interdependencies. Administrators,
technicians, and software developers can use configuration management
tools to verify the effect a change to one configuration item has on other
systems.
Configuration management is one of the operational processes
identified in the IT Infrastructure Library (ITIL) service management
framework, although an enterprise need not adopt the ITIL framework to perform
configuration management. Configuration management is referred to as Service
Asset and Configuration Management in ITIL V3.
For a
configuration management system to operate, it needs some form of mechanism in
which to store the information it governs. Originally, this was called
the configuration management database (CMDB); ITIL V3 introduced the
concept of a configuration management system (CMS) to replace the CMDB. The
CMDB promotes a concept of a singular monolithic repository, while the CMS
provides a conceptualized system of CMDBs that act together to support the needs
of this governance process. Both demonstrate advantages over a static
configuration management spreadsheet or a text file that requires
significant manual upkeep and cannot integrate base workflows and best
practices.
Every
service management tool is deployed with a supporting data repository.
Without the governance process of configuration management validating its
contents, the repository is simply an operational database with
unverified data, not a CMDB or CMS. Automated configuration audit and
verification components entitle a repository to be leveraged as an authorized
gold source of assets. A manual audit is also possible. Special configuration
management software is available, such as BMC Software's Atrium and Hewlett
Packard Enterprise's Universal Configuration Management Database.
A
configuration management process and its supporting repository, CMDB or CMS,
face the challenge of overlapping and contradicting data from sources across
the enterprise. The configuration management plan must include a way to merge
and reconcile CIs to present a single point of reference
or sole source of truth.
Key benefits of configuration management
A
configuration management tool can improve the organization's change-impact
analysis, reducing the outages caused by production
changes. Without configuration management in place, it is nearly
impossible to understand the impact of any changes to an environment.
Configuration management combines valid
service models, CI interdependency mapping and
correlations made between CIs and requests for changes to help restore services
faster during an outage.
An
organization may achieve improved service delivery, as measured by mean
time to repair and mean time between failures. Other metrics can improve, such
as time spent searching for data, data quality, and accurate reporting on
the IT estate.
A
configuration management system provides audit and compliance support
in historical operational accounting of devices and their utilization and
modifications.
There are
several potential business benefits to consider in a configuration management
plan. Lower operational costs result from better understanding the total cost
of ownership for the current IT service model. Organizational security improves
when the company can detect unauthorized changes. The correlation between CIs
and operational processes -- and how these support business services or affect
key performance indicators -- can enable more informed business decisions.
Change and asset management
Change
management and configuration management are complementary but not
identical processes. Change management seeks to govern and ensure only
authorized modifications are made to an item while mitigating risk and impact
to the whole. Change management is implemented via an established business
process, such as a change advisory board reviewing requests for change.
Configuration management deals with the identification, maintenance, reporting
on and verification of items and their interrelationships.
The most
in-depth utilization of the configuration management process is considered to
be within the military and engineering establishment as part of its
comprehensive change management lifecycle. These environments demand the level
of scrutiny, audit, and verification that configuration management offers.
This is especially the case when integrated with information security
processes.
Configuration
management also differs from asset management in that it does not
seek to manage the financial accounting aspects of the CI. Asset and
configuration management share a common core of data about items and devices,
used for different objectives and goals. A CI could be an asset but does not
have to be. The same is true for an asset: It may or may not be a CI.
Configuration
and asset management govern the items under different lifecycles. For
example, asset management manages a server from procurement through the disposal.
Configuration management is only aware of this server while it is associated
with a given service or services. If the service is discontinued, asset
management will continue to govern the server's financial relevance, while
configuration management will no longer have active reference to it. The
configuration management system will maintain a historical reference
to the CI and the service it supported, however. A server could be provisioned
over its lifetime to support several different services, where each implementation
of the same physical server would be viewed as a new CI to the configuration
management process.
Software configuration management
Configuration
management is also used in software development and deployment, where it is
called software or unified configuration management (SCM or UCM). Developers
and others involved in the project can use SCM to keep track of artifacts,
including source code, documentation, problems, changes requested, and
changes made. Software configuration management provides structure to
development steps, such as establishing baselines and reporting on the status
of development processes.
Programmers
using software configuration management after the idea evolves into a
functioning software system, both to monitor new releases and to deploy the
software configuration to additional hosts. In this way, software configuration
management intersects with broader configuration management, occupying CIs such
as physical servers and OS instances.
Software
configuration management tools, such as Chef and Puppet, can be
used in concert with version-control tools for source code management, such as
Apache Subversion and Git.
Ansible,
Chef, and Puppet all equally integrate with the AWS API. It can be built with
CloudFormation as a better way to organize configurations and environments,
using templates that can be utilized to manage AWS resources. Ansible is a
simple IT automation platform, used for websites, documentation and community.
Chef uses “recipes” written in Ruby to keep an up to date infrastructure and compliances.
Different toolsets adhere to a wide variety of technical skills. Puppet
performs administrative tasks based on universal specifications. Adding users,
installing packages, and updating server configurations are all possible with
Puppet.
Configuration management in DevOps
DevOps are
vested in culture, automation, measurement, lean and sharing, known as (CALMS):
Culture - brings people and processes together
Automation – creates a fabric for DevOps
Lean - encourages the concept of continuous improvement
Measurement – allows for improvements
Sharing – enables feedback in the CAMS loop cycle
Configuration
management is crucial in the DevOps model to enhance and support continuous
integration. The proper use and implementation of configuration management can
guarantee control, accuracy, traceability, restorability, consistency,
efficiency and versioning. It can also even allow changes to system management.
Potential drawbacks to configuration management
There are
several possible challenges presented with the use of configuration management,
including:
Process integration is imperative for checks and balances of data relating to change or problem incidents.
Multiple tools are necessary for proper integration.
Production applications and desktop activity require broad audience participation.
Initial designs will need to be revisited and revised regularly for proper scoping of situational business needs.
Configuration
management requires data sharing validations across departments, and groups
that are poorly operated could become ineffective or inefficient.
Comments
Post a Comment