Implementing rapid scale-out of a machine tier in VMM 2012 via PowerShell

In VMM 2012 using service templates, you can create multi-tier templates consisting of machine tiers (like web, app, data) and establish scale out parameters for the tier…the minimum, maximum and default instance count for each tier. Additionally, you can configure deployment and servicing order and application deployment (via WebDeploy, SQL DAC, Server App-A, GCE)

The service template can exist in one or more machine tiers (like web, app and data as you would see in a typical 3-tier web application), it can consist a little as one tier. Even with a service template that contains only a single VM, you can benefit from the benefits of service templates, including

With the advent of private cloud comes the perception of continuous availability as well as the perception of infinite capacity. These customer expectations raise the bar in terms of provisioning, as users may expect that application infrastructure can be scaled out almost instantly. How can we scale this rapidly? For example , what we need to do to double capacity of the web tier very quickly?

Enter Rapid Scale-out via PowerShell

Along with many features added to VMM 2012, there is also a major update to the PowerShell management interface. This makes it easy to provision multiple new machines in parallel without ever opening the VMM 2012 Admin console. The sample script below demonstrates how you can easily scale out the machine tier within the service template given a list of names in a text file. In the real world the input may more likely come from a service request in Service Manager or be triggered in response to capacity alerts via Operations Manager and Orchestrator, but this sample demonstrates the concept that would facilitate scaling out multiple VM instances provisioned in parallel.

Sample Script

Here’s a sample script to demonstrate this concept simply. As it is a sample, I assume you know 1) that no existing VMs of the same name have already been deployed and 2) the machine tier within the service template has scale out limits that allows the number of VMs you are attempting to create.


Note: You may be tempted to call this rapid scale-out method of a machine tier “cloud bursting” (many I have talked to use ‘cloud bursting’ in this way), but it’s not the same really. Click the cloud bursting link for the proper definition.

Additional Resources

Here are a few additional ‘private cloud-related posts featuring System Center 2012 and related technologies that may be of interest

Cloud: A quick note on accurately measuring Hyper-V host performance and utilization

What’s new in the Cloud Services Process Pack (CSPP) Release Candidate for System Center 2012?

Private Cloud in the real world: 5 lessons from the private cloud fabric

How to prepare for Orchestrator? Learn Opalis in a month of Friday afternoons! (free online resources)

PowerShell Scripts for System Center (Master Collection)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.