Microsoft Azure RemoteApp: Web-scale Client Application Hosting

azure logoMicrosoft Azure RemoteApp, previously known by its codename, Mohoro, was released at TechEd 2014 in Houston last month as a public beta. What is it? Was it worth the wait? And whatever happened to Microsoft’s DaaS platform?

Project Mohoro first came to light in May 2013 amid speculation that Microsoft was developing its own DaaS platform. Even as respected technology journalist Mary Jo Foley correctly reported that Mohoro was Windows RemoteApp as a hosted service, the majority of pundits chose to believe that Mohoro was DaaS for Azure, despite the lack of any supporting evidence. Microsoft was hardly likely to go out of its way to correct this opinion. With its public launch, it is now possible to look more closely at Azure and compare it to its siblings.

Azure RemoteApp is exactly what it says it is: Windows RemoteApp from the Microsoft Azure cloud. RemoteApp is Microsoft’s official name for what longtime Citrix XenApp admins know as seamless windows. This technology enables applications accessed remotely through Remote Desktop Services to appear as though they are running on the end user’s local computer, as opposed to being presented to the user in a desktop running on the remote desktop session host (RDSH) server. RDSH is, of course, a Windows Server role, not a desktop operating system feature. As Microsoft Azure is based on Windows Server 2012 R2, it should be no surprise that Azure RemoteApp is also based on Windows Server 2012 R2. In short, Azure RemoteApp is definitely not DaaS.

Microsoft is currently offering two ways to gain familiarity with Azure RemoteApp: as a quick and easy user experience test drive that provides access to preconfigured Microsoft Word, Excel, and PowerPoint sessions, or as a fully functional and customizable implementation that requires an active Azure subscription. Both options are available in the following Azure regions: US East, US West, Europe North, Europe West, Asia-Pacific Southeast, and Asia-Pacific East.

The five-minute test drive is really of no value unless you have never experienced an RDS session before. However, it does a good job of showcasing just how responsive the “flat” interface used in Office 2013 can be in an RDS session. Testing from Hawaii to a RemoteApp session hosted in the US West Azure region was just as good as being local. The full test environment is free of charge but is only accessible with an active Azure subscription. Signing up for a pay-as-you-go account will open the door, but you still must hand over credit card details to gain access. This test environment is limited to two separate instances, each supporting a maximum of ten users, with 50 GBs of storage per user. If you do sign up, note that Microsoft may cancel the service if it remains unused for more than a week.

Microsoft provides a preconfigured Windows Server 2012 R2 image preloaded with Microsoft Office Professional Plus 2013, which can be used as a starting point to explore RemoteApp. Using this image, it takes only a few minutes to create a new RemoteApp service, publish applications, and assign them to users, although it can still take up to thirty minutes to provision the service for use. As a quick test, working with Microsoft accounts is sufficient. Most production implementations will use Azure Active Directory synchronized with users’ own Active Directory implementations. Microsoft has indicated that it will make more of these template images available in the future and will provide them as a curated service, ensuring that all appropriate hot fixes and malware signatures are maintained and up-to-date. What Microsoft has not shared to date is precisely which applications will be available on these template images. More importantly, will template images only be available for Microsoft applications, or will Microsoft allow independent ISPs to publish their own template images for customers to deploy?

Installing your own applications is a little more involved than working with the provided template images. The general process is as follows:

  1. Create a custom template image, either from scratch or by modifying an existing one
  2. Install the required applications
  3. Establish a VPN connection to Azure
  4. Upload the template image to Azure
  5. Publish the applications.

Because these templates are individually owned, Microsoft does not curate them in the same way that it does its own template images. This is then left to the user to maintain. Azure RemoteApp supports management through conventional enterprise server management tools (e.g., Group Policies, WSUS, System Center, etc.) as well as by deploying full-scale image template updates. While is possible to manage server configurations using enterprise management tools, what you can’t do is install applications on a server image already in Azure. What this means is that potential Azure RemoteApp administrators are no longer in the application management business, but rather in the server image management business. While there is a lot to be said for encouraging the adoption of the stricter version control processes that this approach encourages, it will inevitably slow adoption in organizations unwilling or unready to take this step. Given the level of adoption of application virtualization technologies in enterprise Citrix XenApp environments as a means of abstracting applications from standardizing server builds, Microsoft’s failure to offer support for App-V for on-the-fly provisioning of RemoteApp servers is a missed opportunity.

On the whole, the Azure RemoteApp management process is very slick, masking the complexity of delivering the service behind a simple web interface. Another major benefit is that it has none of the architectural and engineering overhead associated with sizing and building a supporting infrastructure. No access infrastructure design and no hardware capacity planning or lifecycle management to consider. None of the “difficult” things that can cause problems for inexperienced administrators. And here, if anywhere, lies the weakness. In focusing on simplicity, Microsoft has eliminated flexibility. The level of control available to experienced system administrators looking to deliver against particularly demanding business requirements is lacking. At the same time, by building on its standard Azure hardware platform, Microsoft has eliminated, at least for the moment, the possibility of providing GPU support, something that is readily attainable through Citrix XenApp on Amazon Web Services (AWS). Although, just as Google, Facebook, and others have done, Microsoft could easily deploy workload-specific RemoteApp servers complete with as many GPUs as it sees fit if customer demand warrants it.

It should be clear, then, that Azure RemoteApp is not a XenApp competitor; it is, rather, one of the first of a new breed of web-scale client application hosting platforms. Unlikely as it may seem, Microsoft’s closest competitor at the moment could well be Sphere 3D with Glassware 2.0. Glassware ticks many of the same boxes as Azure RemoteApp, and with GPU support, it even offers features today that Azure RemoteApp has yet to implement, albeit without the polish and depth-of-pocket that Microsoft possesses.

For once, Microsoft has got licensing right. Azure RemoteApp is a turnkey solution incorporating all the licenses needed to use the service as provided by Microsoft. So far, Microsoft has provided no indication of pricing; however, it will not have much room to maneuver here. Microsoft cannot offer Azure RemoteApp for less than the cost of an RDS license without seeing charges of anticompetitive practices being laid at its door. Realistically, the price will have to be significantly higher than that of an RDS license when the additional cost of data center hardware is taken into account. At the same time, Microsoft is likely to see strong pricing pressure from ISVs looking to develop their own SaaS offerings on the back of Azure. With competing DaaS offerings running Windows Server 2012 available for as little as a dollar per day and a keen awareness of the lower hardware costs that RemoteApp offers, the ISVs I have spoken to have indicated that they would expect pricing to range from $5 to $15 per concurrent session per month, depending on session resource requirements and possible future GPU availability. This is one point that is still far from clear; with an elastic infrastructure that spawns additional virtual servers on demand, how granular is Azure RemoteApp pricing going to be? Will there be a flat rate per session, or will Microsoft be looking to charge directly for hardware resources consumed? Microsoft has not announced when Azure RemoteApp will be generally available, but given the current state of development, an initial release in late Q3 or early Q4 2014 is highly likely.

With Mohoro falling short of the hoped-for DaaS offering, is Microsoft still quietly working to develop Azure DaaS? It’s possible, of course, but for the moment, at least consider it somewhat unlikely. Microsoft has had the all the building blocks needed to deliver Azure RemoteApp since October 2010. At the same time, it has had to contend with service providers building their own application hosting platforms using competing cloud services. Its failure to deliver Azure RemoteApp sooner is strongly suggestive of an organization not yet ready to capitalize on the opportunity, even with potential customers waiting in the wings. Until recently, Web-scale client application hosting has been a neglected opportunity, taking a backseat to DaaS. What has been missing is awareness of the relative size of each market. The DaaS market share is unlikely to ever reach beyond 10 to 12% of the overall desktop market, and the desktop market itself is in decline. Applications are what matter. 100% of business users need applications, the vast majority of which will remain as Windows applications for the foreseeable future. Without Web-scale client application hosting, service providers and ISPs are restricted to using enterprise class products that are a poor fit for SaaS environments.

Microsoft has been under sustained criticism for its failure to provide a licensing option to enable service providers to deliver affordable DaaS without having to take the ridiculous (there is no other word for it) measure of re-skinning Windows Server 2012 to make it look like Windows 7. Is Microsoft ever going to provide an Azure DaaS service and at the same time free service providers to do the same? The only real indicator that Microsoft may offer virtual desktops from Azure comes from Citrix. Citrix (in conjunction with Microsoft) has been supporting customers looking to deliver XenApp and XenDesktop in Windows Azure since July 2013, and where Citrix leads, Microsoft inevitably, eventually, follows.