Since the first version of ITIL, the process configuration management has already been identified. In the latest version of 2011, the name of the process was changed to Service & Asset Configuration Management (SACM). However, in the world of software development, a configuration management process is also identified. This is often named Software Configuration Management (SCM). This article is about both these processes and the relationship between them. After that, this article zooms in on the use of Software Configuration Items (SC-I).
The purpose of this process is to define and maintain a logical model of the ICT infrastructure in which the ICT services are related to eachother and to the ICT components needed to provide those ICT services.
A CI is the registration of an object (service or product) or the components of an object that is managed by the service organization. Various attributes are assigned to a CI to describe the object or components. Objects for which a CI can be defined are services, software, hardware, communication tools, documents and procedures. Note a CI is just the registration of an object but never the object itself.
A CMDB is a database where the CIs and their relationships are defined and related. When designing a CMDB, account must be taken of:
These three dimensions are directly and indirectly determined by the SLA. In the SLA, the Products and / or Services are defined. A common misunderstanding about the CMDB is that these physical objects would contain. However, the CMDB is only a database containing data about objects in the form of CIs.
The CMDB-baseline is a defined set of CIs of a particular version that together form a stable service and / or product. For example after a major release, for example, all relevant CIs can be defined as the base line. If later a disturbance occurs, you can look at the changes since the last baseline. If the production environment has become unstable, the baseline will also be used to go to the last baseline.
In software engineering, software configuration management (SCM or S / W CM) is the task of tracking and checking changes in software, part of the larger cross-disciplinary area of configuration management. SCM practices include audit control and the establishment of baselines. If something goes wrong, SCM can determine what was changed and who changed it. If a configuration is working well, SCM can determine how to replicate it across many hosts [Wikipedia].
An S-CI is the description of an object that is managed by the DevOps development process. An S-CI assigns. Various attributes are assigned to a S-CI to describe the object or components. An S-CI may include the meta data of a third or fourth generation language, an SQL script, a database scheme or any other object that is required to create an application.
An S-CMDB is a database in which the S-CIs are defined and their relationship. A part of the S-CMDB is a baseline. Unlike the CMDB, the S-CMDB is a repository that stores both the source code and the S-CIs (as metadata) of that source code. Tools such as GIT and SVN always give users an integrated image of the software that is in development and control the configuration of the software based on metadata and folder structures.
A baseline is an agreed description of the attributes of a product, at a point in time, which serves as a basis for defining change. A change is a movement from this baseline state to a next state. The identification of significant changes in baseline state is the central target of baseline identification [Wikipedia].
Operations have been using CMDB for decades. All the processes of ITIL make use of the CMDB. Examples are the connection of a CI to an incident to indicate the location of the incident. But also change requests are also expressed by one or more CIs. Also SLA norms are linked to CIs, so the service desk knows what the maximum resolution times of incidents are. The CMDB is thus a central definition of the objects to be managed.
The S-CMDB concept may be older than the CMDB. The use of the S-CMDB differs from the CMDB. Thus, an S-CMDB describes much smaller objects than the CMDB. More than the S-CMDB, version management of the S-CIs is of fundamental importance. For the purpose of compiling a new baseline, only the approved versions of the S-CIs must be used.
A S-CMDB and the CMDB are the basic administration of Dev and respectively OPS. Because these administrations are often unlinked, it is difficult to discover what causes an incident in terms of source code. In addition, it is important to recognize the functions of the S-CMDB for DevOps so that they are filled in properly.
The first question that commonly is raised when starting with the use of a CMDB and S-CMDB is how to relate these two to each other. Usually, a deployment of an application is registered in the CMDB by creating one or more CI’s and/or registering a new version of one or more CI’s. In terms of the S-CMDB a new release requires a definition of a new version of the baseline. The baseline is used to create a build through the build server. The build also gets a unique number.
It is important to establish a relationship between the CMDB and the S-CMDB. For example, by capturing the Build ID of the application in the CI of the CMDB. As a result, traceability has been created between the product rolled out by OPS and the product produced by DEV.
Figure 2 shows the relationship between the CMDB and the S-CMDB. The indicated relationship is through the Feature / Story relationship.
The S-CMDB ensures that the DevOps team is offered the following functionality:
Often software configuration management is assigned a much larger role, including deployment. However, it is a best practice to have the S-CMDB only include the source code in the sense of a repository. The output of the build process then occurs in the Artefact repository and not in the S-CMDB.
Discuss with us about this article on LinkedIn.
DevOps Best Practices, ISBN: 9789492618078
Agile Service Management with Scrum, ISBN: 9789071501807
Mogelijk is dit een vertaling van Google Translate en kan fouten bevatten. Klik hier om mee te helpen met het verbeteren van vertalingen.