Uncategorized

Configuration Management in the Cloud

by Kai Holthaus

kai_holthaus-crop“The Cloud” is one of the biggest paradigm shifts in the IT world. Instead of provisioning physical hardware in a physical data center and then managing applications running on the physical hardware, virtualization has allowed IT organizations to decouple logical infrastructure from physical infrastructure, and thereby deliver new-found flexibility to provide and manage value-add services.

Additionally, IT organizations can now provision the cloud infrastructure itself, along with the infrastructure they are already running themselves. Infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS) are now available to supplement or even replace traditional IT offerings. One common use case is to monitor the performance of a web server.

Once the performance reaches a certain limit, a new service is automatically provisioned in the cloud. The cloud-based server is used as long as performance demands require it, and once demand drops below a certain threshold, the additional cloud-based server is decommissioned. All of this can happen in a matter of minutes and can be fully automated.

Different cloud-based offerings need to be managed differently, in terms of configuration management, to ensure that the needs of the customer can be met.

Configuration Management Principles
According to ITIL, the purpose of the service asset and configuration management process is to ensure that the assets required to deliver services are properly controlled, and that accurate and reliable information about those assets is available when and where it is needed. This information includes details of how the assets have been configured and the relationships between assets.

The objectives of configuration management are to:

  • Ensure that assets under the control of the IT organization are identified, controlled and properly cared for throughout their lifecycle
  • Identify, control, record, report, audit, and verify services and other configuration items (CIs), including versions, baselines, constituent components, their attributes and relationships
  • Account for, manage and protect the integrity of CIs through the service lifecycle by working with change management to ensure that only authorized components are used and only authorized changes are made
  • Ensure the integrity of CIs and configurations required to control the services by establishing and maintaining an accurate and complete configuration management system (CMS)
  • Maintain accurate configuration information on the historical, planned and current state of services and other CIs
  • Support efficient and effective service management processes by providing accurate configuration information to enable people to make decisions at the right time – for example, to authorize changes and releases, or to resolve incidents and problems

In summary, configuration management supports the management of services by providing information about how the services are being delivered. This information is crucial to the other service management processes, especially such processes as change management, incident management, or problem management. It is also crucial to ensure meeting all agreed-to service levels.

Configuration Management and the Cloud
Let’s take a look at three common cloud-based offerings and the configuration management aspects to keep in mind.

20140421 SACM in the Cloud

Infrastructure as a service (IaaS) — IaaS is a service that offers computing resources, such as virtual machines, virtual networks, or virtual storage as a service to customers. The consumer of IaaS services usually has control over the configuration aspects of the resource, such as which operating system to run on a virtual machine, or how to utilize the storage resource.

This means that the resources provisioned in an IaaS model would be CIs that should be managed in the traditional way, as if they were physical CIs. IaaS offers customers a lot of control over the configuration of these resources.

Platform as a service (PaaS) — PaaS is a service that offers a computing platform to its customers. A computing platform could include an operating system, programming language, execution environment, database, and web server, so that developers have a ready-made platform for their development tasks that can quickly be deployed in various environments.  The management of the components of the PaaS is left to the service provider, who will need to meet service level agreements (SLA).

With PaaS, configuration management could be performed on the individual components of the platform, such as the virtual machine, the operating system, and the database, for instance. The configuration management could also be performed at the service level, meaning that there would only be one service-type CI for the platform to be entered into and managed in a CMS.

Software as a service (SaaS) — SaaS provides entire application environments, such as HR or procurement applications, as a service. The service provider must meet SLAs, so that customers of the service will be able to use the software when and where they choose. Such service levels can include all aspects of utility and warranty, as well as incident resolution, problem resolution, or promised delivery time frames for specific service requests, such as a new login for the application. With SaaS, there should only be a service-type CI in the CMS to be managed.

In summary, the need for good configuration management practices does not end when services (or parts of services) are moved to the cloud. It is still the service provider’s responsibility to ensure that services are being delivered as agreed to with the customers. Different cloud-based services, such as IaaS, PaaS, or SaaS, will require different levels of configuration management.

—-
Kai Holthaus is a transformation consultant with VMware Accelerate Advisory Services and is based in California . Follow @VMwareCloudOps on Twitter for future updates, and join the conversation by using the #CloudOps and #SDDC hashtags