Change and Configuration: Critical Piece of the Private Cloud Picture
Private cloud infrastructure enables IT to serve the business by allowing new services to be quickly provisioned and by adding elasticity to better handle service availability and demand spikes. Yet realizing this capability isn't so easy.
In transitioning to private cloud services, change and configuration management, one of the key areas of IT management, is strongly affected. There are many configuration management challenges introduced in transitioning to a private cloud-computing infrastructure exacerbated by the state of abstraction and pace of dynamic change in private cloud environments.
When transitioning a working application from a physical data center to private cloud, it is essential to preserve key configuration information. You need a detailed inventory of configuration information of your applications and a clear understanding of all the components, and their relationships. You need to be able to understand and identify what configuration parameters will need to be updated when moving to the private cloud, and how the configuration impacts performance, availability and security of the application.
Today the added challenge is that this information gathering process is largely manual, making it harder to gather detailed knowledge of the application, its configuration and dependencies.
When this configuration needs to be changed, you need to know what the changes are and why they are made. There needs to be a way to detect existing configuration to plan migration to private cloud, and then compare configurations across environments while carrying out the migration. This requires gathering the essential and critical, configuration information, which is a huge undertaking, going through literally thousands of configuration parameters per technology – some critical and some not.
Image Library Management
One of the keys to making a large scale private cloud practical is the ability to rapidly provision and deploy new virtual machines. This entails creating sets, or libraries, of images on which additional deployments will be based. Virtual images libraries are the foundation for running many private clouds. Yet, effectively and efficiently managing this collection of images is not a small undertaking. A centralized repository of images allows you effective control over image versions, user access, changes and much more. This library provides easy integration to the component(s) that drive provisioning into your private cloud.
Transitioning to image based provisioning however shifts the focus of configuration management to the image library. Virtual servers must be correlated with the images used to spin off the servers. To maintain control over the environment, you must analyze the consistency between configurations of the same purpose servers.
The dynamic nature of the private cloud can significantly increase the rate of change and complexity. This makes understanding and tracking actual versus desired configuration states very challenging. Virtualization in the private cloud introduces abstractions to the data center encapsulating virtual machines in a kind of black box. In addition the automated deployment layer hides changes to the actual environment configuration.
Limited visibility to the underlying configuration makes it difficult to identify the root cause of faults, leading to slower application deployment times, impaired service levels, and more risk from human error.
Understanding the change requires visibility into the configuration at the highest resolution level of individual configuration parameters: registry keys, data schema fields etc. This makes it quite challenging to correlate a change in a deployment script to the actual impact this change has in the deployed environment. Furthermore manual changes might still happen in the private cloud environment in emergency cases. Typically these will be very granular, carried out to resolve a specific issue. Configuration tracking needs to take a deep dive, at the highest resolution level, into the application configuration to catch subtle manual changes.
Validation of Automated Activities
It seems obvious that any software change should be tested before being rolled out into production. Automation of cloud management tasks such as provisioning and deployment is no different. You should validate the results of such automated activities. Organizations need to leverage automated technology to help ensure that all private cloud deployments are properly vetted so that failures in the course of provisioning do not produce unsynchronized environments.
One of the most penetrating of the automated management actions is a change in the existing environment. Change validation integrated with automated activities should become a regular part of change management process for private cloud for effective change management, configuration management, and release management processes, allowing organizations to better ensure that environments run smoothly, without disruption or outages, even when updates are introduced into production. Much time can be saved in the problem analysis phase by having a definitive list of what has or has not changed in the configuration of a service and infrastructure.
Single Point Of View
In many cases the environment running in private cloud is essentially managed by two parties:
- The team operating the private cloud
- The users
The extent of users' involvement depends on the type of service offered. In any case, when several parties are involved it is essential to have a single point of view IT teams need to centrally manage application, server, and on the end-to-end environment configuration and changes from a single console, with a summary dashboard that displays the current state. A typical situation where these two parties need to coordinate is when users and the cloud operations team argue over responsibility for an incident. The ability to know what changes which party did can help to avoid finger pointing and significantly reduce investigation time.
Private Cloud is a Highly Dynamic Environment
The high pace of change is due to the built-in scalability management and user triggered on-demand services. You cannot rely on manual processes to register and track changes since most of the activities are run automatically.
To get the environment under control, the configuration should be automatically monitored. Proactive monitoring is the only way to ensure that your team knows what's going on before the phone rings. Administrators need to be in a position to monitor the data center infrastructure and drill down to manage any risks or faults in the environment as they occur. At the same time, it is critical to provide visibility across the entire stack of private cloud layers at the highest level of resolution.
While the amount of resulting information can be overwhelming, change management teams need to rely on analytics. This analysis should be capable of interpreting the results of automatically collected granular configuration information, and produce actionable findings for driving operational decisions.
An example of such analysis could be when a certain base image is updated. The base image is used to spin off a set of new servers, while, still up and running, the servers are produced from the older version of the image. Analysis will produce a specific list of critical configuration differences introduced by the image drift. Such information will help to make a decision if the old servers need to be retired or upgraded. This will reduce operational risk for the entire set of servers.