Azure RemoteApp provides a way to deliver Windows applications to any device with the power and scalability of Azure. That’s a pretty bold statement… so what, exactly, does it mean? Essentially, you can package up any Windows application on a VM image hosted in Azure and provide users access to it from any device using Remote Desktop Services. Being hosted on Azure also means you get benefits such as scalability, fault tolerance, etc. with little to no effort on your part.
First, “any” device needs a little clarification
Azure RemoteApp supports most devices, but not every device. The RemoteApp FAQ page lists the supported devices and essentially includes Windows, iOS, MAC OS X, and Android. Other devices such as Blackberry, Xbox, etc. are not listed. In most cases, this should be fine since the target audience is line of business apps but it should be noted that it is not in fact “any” device.
So, how does it work?
Azure RemoteApp provides access to applications via Remote Desktop Services hosted on an image in Azure. Both cloud and hybrid configurations are supported giving you lots of flexibility in determining what part of the app lives in the cloud and what part lives on-prem. The beauty of this is users can use “any” device to access your applications and you don’t have to maintain the infrastructure behind the scenes. Typically, in an on-prem world, when we need a new application requiring VM’s, we have to configure the VM image and ensure our host environment has enough capacity for the expected usage of the application. In addition, usage tends to spike at different times of the year for various reasons so if not planned properly, we can easily reach capacity causing outages for the user. With the infrastructure hosted on Azure, you get the benefits of Azure which should alleviate these concerns to some extend and free you up to address more critical requests from the business.
What is “the image?”
The image is basically nothing more than a Windows image, just like you would use for any VM, that has been prepped with SYSPREP and meets the RemoteApp requirements.
The following out of the box images are available with your subscription by default:
- Windows Server 2012 (“vanilla”) – the most basic image with no client applications installed
- Microsoft Office 365 ProPlus – the “vanilla” image with Office 365 ProPlus installed
- Microsoft Office 2013 Professional Plus – the “vanilla” image with Office Professional Plus installed
For more information on exactly what these images contain, see What is in the RemoteApp template images?
In addition to the default images that are available, you can create your own image in a few different ways:
- Start with a default image and customize it
- Create your own image and upload it
- Start with an Azure VM image
In each case, before you can use it, the image needs to be prepped via SYSPREP.
Before creating an image, you should review Requirements for RemoteApp Images.
Considerations
- Images should be stateless – Applications should never store data directly on the image… all data should be persisted elsewhere or in the user profile.
- Videos – videos may have some trouble playing smoothly… remember that users are accessing this via RDP, not through a web site or native application on their local devices so graphic intense operations like playing video may not perform as expected.
- Image size – when uploading, the image size should be a multiple of MBs or the upload will fail.
- Remote Desktop dependencies – Remote Desktop Session Host role and the Desktop Experience feature must be installed… however, Remote Desktop Connection Broker role must not be installed.
- SYSPREP – there are specific parameters documented that need to be used. For example, do not use the “/mode:vm” parameter.
Conclusion
Azure RemoteApp can be a great opportunity to provide easy access to applications to users in any enterprise. Hosting the infrastructure in Azure allows you to take advantage of Azure scalability and reliability with less involvement than maintaining the VM environment on-prem. Apps published through RemoteApp should be chosen carefully to ensure they don’t suffer any major performance drawbacks via RDP access to the cloud. In many ways, this is comparable to some offerings via Citrix although this shouldn’t be confused for Citrix and is an entirely different platform. It’s also worth noting that many people have the assumption that “cloud services” are simply websites and web services and this is a great example of capabilities far beyond simple web sites and gives companies a relatively easy way to host an app, in the cloud, with little to no code changes (depending on the design of the application).