In my last blog, I talked about the benefits of server consolidation. I also mentioned that Microsoft is enabling our customers to consolidate with virtualization and run more application workloads in a single OS image. The end goal is to reduce the complexity of the environment that you support, which lowers costs and increases reliability. We are also providing guidance around when to use virtualization and when (and how) to use a single OS to consolidate applications. For many large organizations both virtualization and heterogeneous consolidation are both going to be part of their server consolidation strategy.
So, you’ve taken the first step and managed to get multiple server applications to run under the same OS. The next step is to manage the performance or resource usage of those applications. Windows System Resource Manager (WSRM) is a tool that allows you to manage the resources provided to multiple applications running in the same OS. This means that you can create policies around how much processor and memory are provided over time to the server applications running. WSRM is available in the Enterprise and Datacenter Editions of Windows Server 2003 and R2 Enterprise Edition. WSRM allows you to create matching criteria that specifies which applications you want to manage by the process that they start. Several server processes are excluded by default, and you can add more exceptions for your server. Once you have the process identified, you can define a policy that controls the access of multiple applications to the finite resources that are available on the server. This means that you can ensure that a specific, business-critical application always has access to a minimum amount of CPU, for instance, or that a poorly behaved application doesn’t run away with all the CPU or memory that’s available.
As we move from stove-pipe kinds of applications to a true service oriented architecture (SOA), we are building more consolidated applications out of existing code. That sometimes means that you’ve got a combination of software, both new and legacy, running on the same server, which can also cause conflicts in resource utilization. I’ve talked to several customers who are using WSRM to manage multiple components of a composite application that all have to run on same server. They have been very impressed with the ability to manage these individual components to provide better performance and responsiveness of the overall application, by preventing legacy components from overwhelming the server resources.
Furthermore, these policies can be time-bound, as well. This means that you can provide more resources to a given application, during a specific time. This allows you to run batch jobs overnight with a higher priority, but to throttle them down during the day, for instance. It also means that you can allow a certain application more resources during peak periods, such as during month end processing. So, with Enterprise and Datacenter Editions, you not only get the scalability to run more applications, you get great management tools to manage those applications.
If you want to find out more about WSRM , there’s an interactive simulation available here: http://www.microsoft.com/windowsserver2003/techinfo/training/wsrm/default.mspx, so you can understand exactly how it works.