Self-service deployment of Microsoft workloads on Cloud Platform System (and other systems with Windows Azure Pack) – Part 4
For this post, we are glad to host Thomas Roettinger, Program Manager in Microsoft’s ECG CAT Team focusing on Cloud Solutions. Thomas announces the availability of another workload self-service deployment sample: remote desktop session hosting.
In this post, I am glad to announce the availability of the Remote Desktop Session Hosting(RDSH) as an addition to our self-service deployment sample family. In previous posts of this series we published Active Directory, SQL Server, SharePoint and Exchange 2013 SP1. Now it is time to get a Virtual Desktop to consume those services.
We follow our design principles and leverage Service Management API (SMA) and Desired State Configuration to automate the installation of the Windows Server 2012 R2 instances, the required Windows Features and the load balancer!
Brought to you by the CPS team, with a lot of help from the Microsoft Enterprise Cloud Group’s Customer Acceleration Team (the Building Clouds guys). And remember, CPS is not a pre-requisite, because you can use these items with some adjustment if you have already deployed the Windows Azure Pack (WAP). As with the first two releases, we are making these available through the VMM content feed.
Previous blogs in this series:
Part 1- SQL Server 2014 and Active Directory. Read this to get the pointer to the WebPI feed!
Part 2- Exchange 2013 SP1.
Part 3 – SharePoint.
Remote Desktop Session based Deployment
We have taken the learnings from deploying Remote Desktop Services in Microsoft Azure and brought them on-premises. For Microsoft Azure, we created a Desktop Hosting - Reference Architecture and Deployment Guide.These guides cover two scenarios, a basic hosting desktop solution and an advanced solution.
In this release, we have fully automated the deployment of a basic hosting scenario that can be scaled out to an advanced solution. (Steps for scaling out to an advanced solution will be covered in a dedicated blog post part of this series.) As mentioned earlier, we have taken the deployment steps from the Azure Reference Architecture and Deployment Guide and complemented them:
1. Automated all the steps to have a self-service experience.
2. Adjusted the architecture to fit Cloud Platform System.
What the deployment does
The deployment can be triggered by subscribing to a plan as discussed in earlier blog posts or in a do-it-yourself fashion.
When the deployment is finished you will have the following Architecture:
Subscribing to the Dedicated RDSH plan will result in the following activities:
1. A VM network is created using our software defined networking capability.
2. A new AD domain is set up with two DCs, including DNS (and the VM network is configured for that).
3. Connection Broker VM gets provisioned that is also running the licensing & File Server.
4. A VM running Remote Desktop Session Host Role is deployed.
5. A VM running RD Gateway & RD WEB is deployed.
6, The load balancer gets configured to listen for inbound traffic on 443 (VIP) pointing to the VM running RD Gateway & RD WEB.
7. Connection Broker creates the RDS Deployment and creates a Collection when the VMs from Step 4&5 are finished provisioning.
There is one last manual step once the deployment is finished. That is adding your certificate to the deployment. Of course, you also want to have a DNS entry pointing to the VIP IP to ensure you certificate CN name is matching.
Validation
We ran Login VSI (a performance benchmark) against this architecture and have been able to get 32 User Sessions with a medium workload (defined by Login VSI)per Session Host Virtual Machine. The Remote Desktop Session Host in this test case was using a VM Profile Size equal to an Azure A4 VM (8 CPUs, 14 GB Memory).
Samples
The usual reminder: these are examples for you (the service provider/enterprise private cloud admin) to customize to best suit your customers’ needs. To modify them 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. See the Building Cloudsblog and the rest of the resources at the end of this post.
Resources
Cloud Platform System
Intro to CPS: https://www.microsoft.com/en-us/server-cloud/products/cloud-platform-system/Overview.aspx
Ignite Sessions:
- Overview of the Microsoft Cloud Platform System
- Operating the Microsoft Cloud Platform System
- Architectural Deep Dive into the Microsoft Cloud Platform System
- Deep Dive in the Microsoft Cloud Platform System Networking
- Automating Workload Provisioning: SQL, Exchange, SharePoint and RDS on CPS.
Windows Azure Pack
Windows Azure Pack: https://www.microsoft.com/en-us/server-cloud/products/windows-azure-pack/
Web Platform Installer: https://www.microsoft.com/web/downloads/platform.aspx
And the VMM feed: https://www.microsoft.com/web/webpi/partners/servicemodels.xml
WAP Virtual Academy (A whole day of WAP training): https://www.microsoftvirtualacademy.com/training-courses/windows-azure-pack-infrastructure-as-a-service-jump-start
Hands on Lab: Introduction to Virtual Machine Roles
VM Role Authoring Tool: https://vmroleauthor.codeplex.com/
SMA training: https://aka.ms/MVASMA
Everything you ever wanted to know about automation for the private cloud: https://aka.ms/BuildingClouds
DSC (Getting Started and Advanced)
https://channel9.msdn.com/Series/Getting-Started-with-PowerShell-Desired-State-Configuration-DSC
https://technet.microsoft.com/en-us/library/dn249912.aspx
Remote Desktop Services
Remote Desktop Services Overview
Azure Desktop Hosting - Reference Architecture and Deployment Guides