Self-service deployment of Microsoft workloads on Cloud Platform System (and other systems with Windows Azure Pack) – Part 1

We are privileged to have a guest blogger on Building Clouds, Jeff Goldner.  Jeff is a Principal Program Manager in Microsoft’s Cloud Solutions Group.  In the series we are starting today, Jeff highlights new artifacts being rolled out by Microsoft that are designed to run Microsoft workloads on the Cloud Platform System(CPS). The series will grow as new artifacts and details about those artifacts are released, and as we expand further on how you could potentially also use those outside of CPS, stay tuned for more!

Hello everyone, this is Jeff Goldner from Microsoft’s Cloud Solutions Group and I’m here to talk about the work we are doing to bring you artifacts to create self-service deployments of Microsoft workloads like SQL Server on the Cloud Platform System (CPS). But if you don’t have a CPS system, don’t tune out, because you can use these items with just a little bit of adjustment if you have already deployed the Windows Azure Pack (WAP). The CPS team, with a lot of help from the Microsoft Enterprise Cloud Group’s Customer Acceleration Team (the Building Clouds guys), are starting to roll out the artifacts with this first set covering Active Directory and SQL Server. There are more to come as we complete validation and testing for other workloads.

Who is this for?

Just like with CPS, we are targeting service providers who offer Infrastructure as a Service (IaaS) to their customers, as well as enterprises that adopt a similar model by providing IaaS to one or more departments in their organization. If you know about WAP – or Microsoft Azure – you will recognize the self-service nature of the portals. Tenants or subscribers, the users of the private cloud, can click their way through virtual machine creation from a Gallery. What’s different here is that we have found a way to bring more complex, multi-tier workloads to your clients with the same click-through ease.

This ability to take automation to a higher level means that you, the service provider, can offer a simpler workload deployment model for your tenants while freeing up your resources for other projects. And the tenants get a running set of applications, like the most essential office servers, with a click or two.

What do you get and how do you get it?

Let me address the last part of that first. You will need the Microsoft Web Platform Installer: get it here. Oh, and by the way, there are a TON of other apps that you can include in your gallery using this tool. I won’t talk about them here, just keep in mind that CPS is an IaaS platform so if an application runs in a VM on Hyper-V, it will run here. You will then want to add the VMM content feed:


(That custom feed is

Now you will be able to download all the content we are publishing. And that content consists of the artifacts necessary for creating the self-service workloads (which includes a ZIP containing the gallery and DSC resources, an icon, and a readme file which tells you how to use these items). This is the entry discussed in this blog:


That’s part of the work. You will also have to provide a Windows Server 2012 R2 image and create VHDs for the workload installer disks, as documented in the readme. The Desired State Configuration (DSC) resources cover not just Active Directory & SQL Server.

Once you have followed the steps in the readme file, you will have several VM Roles installed and available through the WAP Tenant Portal, and a new “plan”, the first of which is called “Dedicated SQL”. Tenants subscribe to that plan and magic happens: they get a new environment with a virtual network, a domain (with two domain controller VMs) and a SQL AlwaysOn cluster ready to host their databases. When they delete the subscription, we reverse the magic and clean up after them.

The magic behind the act of creating these multi-tier workloads through a single subscription is explained here The key components are the Service Management API (part of the WAP platform) and Windows PowerShell Desired State Configuration(DSC). More resources down below.

Each of the artifacts we are publishing has gone through testing on a real-life CPS system(!)


Let me be clear: these are intended as examples for you (the service provider/enterprise private cloud admin) to customize to better suit your customers’ needs. And this will require an understanding of how WAP works, how the multiple scripting engines process scripts, and how to edit the automation artifacts. An understanding of PowerShell is also going to be a prerequisite.  I won’t go into the details here but the Building Cloudsblog has a wealth of information. More resources (blogs, videos, downloads) at the end of this article.

Some of the things you will probably want to change are the size of the data disks used by the SQL Server cluster and the size of the VMs used for the database server. We don’t know how big you want these, so we made some intelligent choices. Also, for SQL Server we use a dynamic VHDX to host the data, so it grows as needed (up to a maximum size). Not all workloads are supported on dynamic disks and we will adjust the deployment artifacts as recommended by the individual product teams based on their best practices.

Another caveat: you do have to understand and follow the workload best practices, and in many cases, it is highly advisable to use stress tools at your disposal before putting any workload into production. As we roll out other workloads, I’ll include the necessary references for downloading these tools.

What if you don’t have CPS? Well, you could buyone. Or, you can look at the runbooks we just added through the WAP admin portal as part of this process. The CPS-specific parts include the VM role sizes which are already defined in VMM on CPS (we mostly copied the Azure A sizes), and the virtual networking configuration. If you are using Microsoft’s Software Defined Networking, you might be OK. But if your network details are different there are a few small details to adjust. Look for comments in the runbooks.


About CPS:

Everything you ever wanted to know about automation for the private cloud:

Windows Azure Pack:

WAP Virtual Academy (A whole day of WAP training):

Hands on Lab: Introduction to Virtual Machine Roles

VM Role Authoring Tool:

SMA training:

Web Platform Installer:


Like videos?,