Finally its here! the ability to remote custom remoteapp images in Microsoft Azure. Before this we had a long process of creating a custom VM locally and sysprepping it and running a powershell command to upload the VHD file containing all our LOB to Azure. Those days are over!
Instead we can use this method to create remoteapp images. Setup a new virtual machine in Azure, choose from Gallery and there choose the “Windows Server Remote Desktop Session Host” VM this is the one that we use to create our Image.
Then we provisoing the VM (Note this is automatically setup as an A3 because of the instance size on RemoteApp) Next we can install our applications that we need.
Next we run the ValidateRemoteApp image PowerShell script on the desktop (This will go trough all the prerequisites to setup the image.
Then do a sysprep and generalize
Then do a capture of the virtual machine so it is stored in the virtual machine library
Then we go into RemoteApp, templates and choose Import an image from your virtual machine library.
And we are good to go!
Microsoft released Azure RemoteApp december last year, and there has been alot of speculation on what Azure RemoteApp actually is. Now it has been in preview for a while and I have been able to test drive it for a long time. So therefore I’m going to tell you Azure RemoteApp is and what it is not.
First of Azure RemoteApp is RDS RemoteApp as a service from Azure. Meaning that you get access to your applications using RDP (sorry no full desktop access)…
Most of all the modern platforms have a RDP client which can be used to access Azure RemoteApp. Which is simply RDP beneath, but Microsoft added some extra bits to handle Azure AD Authentication among other things.
All users who access applications via Azure RemoteApp are given a user profile disk which is 50 GB which MUST be used to store data. Unlike a regular RDS deployment, Azure RemoteApp servers are stateless and might be deleted/removed for instance during patching. Therefore it is important to use this User profile disk or other storage options like OneDrive/Dropbox etc..
Now the problem with deployments being stateless is that you cannot setup solutions like ERP/CRM applications which requires SQL Databases stored backend. Another issue is that you cannot yet integrate an existing IaaS vNet in Azure with Azure RemoteApp. The only way is to setup a 2S2 VPN between the two deployments.
In order to deploy our custom LOB applications to Azure RemoteApp I would need to create a custom VHD containing 2012 R2 with RDS session host installed with my apps. Then I need to upload this VHD to Azure and then Microsoft will use that as an golden image to provisiong virtual machines.
So it seems to be a bit difficult to use Azure RemoteApp for all LOB applications, so what are its use cases ? After alot of speaking with partners and other techies I have a couple of pointers
- Applications which are barely used (Given the nature of Azure and pay-as-you-go) and are self-contained (This could save alot of money)
- Access to Office ProPlus (Given that you have customers which has ProPlus licenses in their subscription)
- Web based applications which requires Internet Explorer (Alot of Mac users out there which requires access to corporate applications which run only on IE)
- Applications where the usage fluxates (given the scale up ability of Azure RemoteApp)
What Azure RemoteApp is not so good at.
- Running GPU enhanced workloads (Since Azure RemoteApp only uses TCP you have low performance on GPU stuff)
- When you want statefull RSDH deployments (And other ways to manage profiles)
- Single instances of ERP/CRM systems on a RDSH server (many want this type to replace their current server, but this is hard because of the stateless feature of RemoteApp)
- Appliations that require use of backend database (Since Azure RemoteApp does not have a integration between a regular IaaS platform in Azure you need to setup a S2S VPN which generates a higher bill.
Now even thou this is a first release, Microsoft is a good step in the right direction, but they just need to make it easy for admins to add custom images directly from Azure, integrate with existing IaaS in Azure and of course simple things like Shadowing and controlling policies directly from the management portal.
So during TechEd 2014 a couple of weeks ago, Microsoft announced Azure RemoteApp which for my part was the most exiting thing announced as TechEd. The idea behind it is to be able to publish “regular Windows applications” using Microsoft Azure directly to end-users using RDP.
Now with the late release of RDP clients for Android, iOS this allows customers to access their applications in Microsoft Azure using any devices. (Note that the RDP client’s were recently udpated for Android and iOS so take a look for an update)
Now there aren’t any pricing info published related to the serivce since it is currently in beta. But some info is released for
1: customers do not need to pay for bandwidth (going in and out)
2: customers do not need to pay additional licenses for instance RDS cal just to the applications they need published)
3: MIcrosoft Office 2013 will most likely be a part of it
4: Windows Server 2012 R2 is the only supported by Azure RemoteApp meaning that your applications that you want published needs to work on 2012 R2
5: If customers want to add their own applications they need to setup a VPN session in order
6: Each user has 50GB of storage of the remoteapp
Now we can also upload our own template image. There are some requirements here that needs to be in place.
- The template image must be created using Windows Server 2012 R2 with Remote Desktop Session Host and the Desktop Experience feature installed.
- Create a VHD template file. VHDX files aren’t supported.
- Format the VHD as NTFS.
- Don’t include an unattended xml config file in the sysprep image.
- Don’t use VM mode to create a sysprep generalized image.
Now a here is what a RemoteApp service looks like, users will be able to access the service (during the preview) on https://www.remoteapp.windowsazure.com/ after I log in with my user I can start the following Office apps (which are included in the service)
Now the RemoteApp client is running RDP underneath
But RemoteApp is not leveraging UDP but just RD gateway to tunnel the connections to a backend VM
But this is indeed going to be a interesting feature! just needs to be a bit polished and maybe leverage UDP as well and hopefully publishing a pricing calculator for RemoteApp