Configuration Control

One of the challenges of virtualization management is the sheer number of new configuration settings that get exposed to the IT administrator. IT orgs have always had problems with configuration drift but virtualization can make the situation worse if not carefully controlled. Point solutions that help ensure your virtual machine hosts are consistently configured but that's the least of your problems - even if your hyper-V or ESX hosts are uniformly configured, what you really care about is the applications running on the server.

Fundamentally, our strategy puts the application aka "service" at the center of what we do. This is a big difference between our strategy and that of our competitors. The virtualization software and physical infrastructure is just there to help the application do its job but at the end of the day, its all about the app. As we move to a "model based" world of management, developers will be able to use tools like Visual Studio to describe how applications work, how they fail, how they respond to resource allocation etc. Basically you'll be creating a definition and recipe for how an app should be deployed, configured, serviced and how it should behave. This is extremely powerful. 

This definition will feed directly into System Center so that operations and IT folks can effectively manage the application without having to know exactly how it works. While the original application definition describes what the developer expects to happen, we all know that apps in the real world exhibit characteristics that were never designed or intended. System Center will also enrich the model and add information as it learns more about it's actual behavior and capture this knowledge in the application definition. If somebody uses remote desktop to change a bunch of application settings (usually for a good reason), the management infrastructure can compare what's running on your servers to the definition to see if it is in violation of the application definition. In some cases you'll want the system to update the application definition with the newly changed settings so that the change is captured in the recipe and can be repeated for future application deployments. In other cases the application change should not have happened and the application needs to be reverted back to what's in the definition.

While the user scenario I describe is powerful, one of the challenges is that it's hard to write definitions and keep them up to date. The burden is on us as a management vendor to provide you with the right tools to enable this scenario in a practical way and we're hard at work across multiple product divisions including Visual Studio, Windows Server, System Center along with our stable of flagship server products like SQL, Exchange, Sharepoint etc. making this a reality.

With that said, you can actually get started on many of these scenarios now. System Center Configuration Manager has a feature called "Desired Configuration Management" or DCM. DCM lets you create baselines for how things should be configured (patches, applications, settings - anything you can think of) and measure your infrastructure against the baseline. This applies not only to your virtual machine hosts but ANY type of server workload. You can find out more about DCM in SCCM 2007 here.