Step-by-Step: Remote Desktop Services on Windows Azure – A cost-effective alternative to Desktop as a Service ( Part 1 )

UPDATE: As of January 1, 2014, the following RDS licensing changes offer an alternative to RDS Subscriber Access Licenses (SALs) noted below in this article.

Effective January 1, 2014, Volume Licensing customers who have active Software Assurance on their RDS User CALs are entitled to RDS CAL Extended Rights, which allow use of their RDS User CAL with Software Assurance for accessing Windows Server Remote Desktop Session Virtualization servers running on Windows Azure.  

For more details on the RDS licensing changes in Windows Server 2012 R2 and Windows Azure, please see the following additional resources:

In talking with IT Pros about potential cloud use cases, Desktop as a Service ( DaaS ) has been a popular discussion topic for being able to deliver end-user Windows desktop and Windows applications from a cloud service.  Some IT Pros are interested in taking this approach to deliver Windows desktops cost-effectively to their “road warriors” in the field.  Others are evaluating it as a disaster recovery option in the event that physical access to primary work facilities is interrupted.


Desktop as a Service ( DaaS ) is most often associated with cloud-based delivery of a virtual desktop infrastructure ( VDI ) solution, where each user is provided with their own discrete virtual machine to host their personal desktop experience.  Based on typical DaaS designs, the infrastructure requirements to host, manage and deliver a consistent desktop experience from all these VM’s can be large and costly.

In this article, I’ll review a cost-effective alternative that the Windows Azure cloud platform provides for delivering remote end-user Windows desktops and applications via cloud-hosted Remote Desktop Services Session Hosts, previously known as "Terminal Services" hosts.  I’ll also provide resources that you can leverage to get started when building your Remote Desktop Services lab in the cloud.

Remote Desktop Licensing updated for the Cloud …

On July 1st … the Windows Azure licensing terms were updated to allow the use of Remote Desktop Services (RDS) Session Hosts for end-user sessions on Windows Azure Virtual Machines.  Previously, this scenario was not supported on Windows Azure or any other multi-tenant, shared cloud fabric environment.  Key details about this licensing change include:

  • To enable more than 2 simultaneous sessions you will need to purchase RDS Subscriber Access Licenses (SALs) through the Microsoft Services Provider Licensing Agreement (SPLA) for each user or device that will access your solution on Windows Azure. SPLA is separate from an Azure agreement and is contracted through an authorized SPLA reseller.

  • RDS Client Access Licenses (CALs) purchased from Microsoft VL programs such as EA, do not get license mobility to shared cloud fabric platforms, hence they currently cannot be used on Azure.

  • Virtual desktop or VDI deployments that deliver desktop environments using virtualized Windows client operating systems, such as Windows 7 and Windows 8, will continue to not be allowed on Azure, because Windows client OS product use rights prohibit such use on multi-tenant/shared cloud environments. Note that virtualized Windows client operating systems are not needed to deliver end-user remote desktop and remote application experiences using the Remote Desktop Services Session Host configuration in this article series.

  • Customers can use third-party application hosting products that require RDS session host functionality, such as Citrix XenApp, are, subject to product use terms set by those third-party providers, and provided these products leverage only RDS session-hosting, formerly known as Terminal Services, functionality. Note that RDS SALs are still required when using these third-party products.

These licensing changes have been updated in the latest Microsoft Product Use Rights documents and in the Windows Azure Licensing FAQ.

Why Remote Desktop Services?

Great question! Remote Desktop Services Session Host, previously known as Terminal Services, has had a long-running and stable history for economically providing remote desktop and application experiences to users over several generations of Windows Servers.  Today it is a proven choice that offers high application compatibility with existing Windows applications at an attractive cost.  In fact, when comparing to the high infrastructure investments needed for full Virtual Desktop or VDI deployments, where each user has their own distinct VM, I’ve heard many IT Pros comment that they instead decided to pursue a Remote Desktop session-host configuration because it provided the application compatibility and performance they needed at a fraction of traditional VDI infrastructure costs.  With a Remote Desktop session-host configuration, storage costs and compute costs are dramatically lowered by leveraging session virtualization, where consolidated operating system and application footprints are virtualized on a session-by-session basis without the need for duplicative VMs on a per-user basis.

Of course, if you have a portion of your users that really want their own VM, Remote Desktop Services also supports on-premises deployments of pooled and personal VDI solutions as well – but, as noted above, these VDI configurations are not currently supported in multi-tenant/shared clouds, such as Windows Azure.

Although Remote Desktop Services is a mature and proven technology, the Windows Server team continues to enhance the associated role services and protocol with each new release of Windows Server.  In Windows Server 2012 R2, there’s been a number of enhancements to Remote Desktop Services across scalability, management and user experience, including significant improvements in Remote Desktop Protocol ( RDP ) compression and network bandwidth usage – as much as 50% less bandwidth compared to Remote Desktop Services in Windows Server 2012!

Why host RDS on Windows Azure?

Cloud performance and value! As a pay-as-you-go global cloud platform, Windows Azure Infrastructure Services provides a nice fit for cost-effectively hosting a Remote Desktop Services Session Host installation from the cloud.  You can build out your own isolated virtual networks for secure access to your RDS hosts via either a Site-to-Site VPN, Client-to-Site VPN or SSL-based Remote Desktop gateways.

In terms of specific results around cloud performance and value, Cloud Spectator recently released an independent study - Comparative IaaS Report: Analysis of 5 Large IaaS Providers - that concluded the following verbatim results regarding Windows Azure Infrastructure Services:

  • "On average, the highest-performance provider over the test period is Windows Azure, and the lowest performance provider is Amazon EC2."

  • "The difference in performance: Windows Azure scores 3 times higher than Amazon EC2 on average"

  • "Windows Azure, the highest-value provider in this scenario, provides 5x more value than on average throughout the 5-day test period than the lowest-value provider, Rackspace"

All-in-all, this study clearly echoes the performance and value that many IT Pros are already seeing when leveraging Windows Azure Infrastructure Services for cloud-based solutions today.

How do I get started?

To get started evaluating Remote Desktop Services on Windows Azure Infrastructure Services, be sure to leverage these next step resources:

  1. Activate! A FREE Windows Azure Trial Subscription ( up to $200 USD in “cloud credit” ) will provide you with a cloud-based lab environment in which you can provision and evaluate Remote Desktop Services.
  2. Follow Along! In Part 2 of this article series, we’ll be getting started with the process of provisioning storage, virtual networks and the virtual machines that we’ll need for our Remote Desktop Services cloud-based solution.
  3. Want more? Check out the Windows Azure Desktop Hosting Reference Architecture and Deployment Guides

See you in the Clouds!

- Keith