Last month I have written a blog on “Docker in DevOps” which gave a quick introduction on Docker and DevOps. In this blog I’m going to talk about a practice of DevOps i.e “Configuration Management”.
As we are familiar that DevOps is taking the IT world by storm, it is important to articulate that configuration state is critical during the entire execution phase. Configuration Management is a critical component throughout the plan, build, run and govern processes.
Configuration management permits the orderly development of a system, subsystem, or configuration item. A good configuration management program ensures that designs are traceable to requirements, that change is controlled and documented, that interfaces are defined and understood, and that there is consistency between the product and it’s supporting documentation.
Today, let us learn about Configuration Management and its importance.
What is Configuration Management?
Configuration management is unique identification, controlled storage, change control, and status reporting of selected intermediate work products, product components, and products during the life of a system.
It is the detailed recording and updating of information that describes an enterprise’s hardware and software. Its advantage is that the entire collection of systems can be reviewed to make sure any changes made to one system do not adversely affect any of the other systems.
Configuration management provides documentation that describes what is supposed to be produced, what is being produced, what has been produced, and what modifications have been made to what was produced. Configuration management is performed on baselines, and the approval level for configuration modification can change with each baseline.
Configuration management is supported and performed by integrated teams in an Integrated Product and Process Development (IPPD) environment. Configuration management is closely associated with technical data management and interface management. Data and interface management is essential for proper configuration management, and the configuration management effort has to include them.
Why we need CM?
Almost everyone in an organization plays a role in effective and efficient configuration management. Configuration management processes, like the conductor of an orchestra, are there to ensure everyone is working to the same sheet of music.
Without some form of configuration management, there would be chaos. When errors occur that need correcting, it is imperative that organizations are able to quickly locate and utilize the latest and most accurate information.
Configuration Management Planning
When planning a configuration management effort you should consider the basics: what has to be done, how should it be done, who should do it, when should it be done, and what resources are required. Planning should include the organizational and functional structure that will define the methods and procedures to manage functional and physical characteristics, interfaces, and documents of the system component. It should also include statements of responsibility and authority, methods of control, methods of audit or verification, milestones, and schedules.
Configuration Management Structure
Configuration management comprises four interrelated efforts:
- Status Accounting and
It is also directly associated with data management and interface management. Any configuration management planning effort must consider all six elements.
Configuration Identification consists of documentation of formally approved baselines and Specifications including:
- Selection of the CIs.
- Determination of the types of configuration documentation required for each CI.
- Documenting the functional and physical characteristics of each CI.
- Establishing interface management procedures, organization, and documentation.
Configuration Control is the systematic proposal, justification, prioritization, evaluation, coordination, approval or disapproval, and implementation of all approved changes in the configuration of a system/CI after formal establishment of its baseline.
Configuration Control provides management visibility, ensures all factors associated with a proposed change are evaluated, prevents unnecessary or marginal changes, and establishes change priorities.
Configuration Status Accounting is the recording and reporting of the information that is needed to manage the configuration effectively, including:
- A listing of the approved configuration documentation,
- The status of proposed changes, waivers and deviations to the configuration identification,
- The implementation status of approved changes.
Purpose of Configuration Status Accounting
Configuration Status Accounting provides information required for configuration management by:
- Collecting and recording data concerning:
– Baseline configurations,
– Proposed changes, and
– Approved changes.
- Disseminating information concerning:
– Approved configurations,
– Status and impact of proposed changes,
– Requirements, schedules, impact and status of approved changes,and
– Current configurations of delivered items
Configuration Audits are used to verify a system and its components’ conformance to their configuration documentation. Audits are key milestones in the development of the system and do not stand alone.
Interface Management consists of identifying the interfaces, establishing working groups to manage the interfaces, and the group’s development of interface control documentation. Interface Management identifies, develops, and maintains the external and internal interfaces necessary for system operation. It supports the configuration management effort by ensuring that configuration decisions are made with full understanding of their impact outside of the area of the change.
Data management documents and maintains the database reflecting system life cycle decisions, methods, feedback, metrics, and configuration control. It directly supports the configuration status accounting process. Data Management governs and controls the selection, generation, preparation, acquisition, and use of data imposed on contractors.
Configuration management is essential to control the system design throughout the life cycle. The use of integrated teams in an IPPD environment is necessary for disciplined configuration management of complex systems.
Technical data management is essential to trace decisions and changes and to document designs, processes and procedures. Interface management is essential to ensure that system elements are compatible in terms of form, fit, and function. The key elements of Configuration Management are Identification, Control, Status Accounting, and Audits.
Thank you for reading my blog!!!