I think I was wishfully reading/skimming the Citrix post when I wrote this. The link wasn’t about running XenDesktop in the Cloud but rather XenApp. The big challenge with running XenDesktop in AWS would be provisioning. In theory you could provision all of you desktops and install the XenDesktop Agent on all of the machines and then use MCS to broker the connections. The problem with this approach is that all of the desktops remain powered on to remain available. This will run up your AWS bill. I’m not aware of any 3rd party connector that will manage the provisioning or powering on/off of your VDI instances in AWS. I would imagine that this could be written using API’s from both Citrix and AWS. But that would increase the overall investment to do something that is already questionable financially at the start.
I’ve often toyed with the concept of running XenDesktop in the Cloud and specifically, running VDI within Amazon cloud service AWS. The Citrix Blog has a great post on running XenDesktop within AWS. It’s actually a novel idea that may have merit. One of the challenges with providing virtual desktops is the spikey nature of the service. All of the desktops tend to have very similar usage patterns that require you to over engineer the environment to avoid over subscribing your virtual infrastructure. Boot storms are a perfect example of having to engineer for peak demand which is normally only 5% of the system uptime. One of AWS’ main selling points is allowing organizations to expand to the public cloud when demand requires greater resources. Desktops are unlike other enterprise workloads that need to be running 24/7. Desktops are normally only used during business hours. Using AWS for your compute would allow you to offload the computing resources for desktops to AWS while potentially reducing the costs as desktops are on demand and you only pay for what you consume. The added benefit is that you free up precious infrastructure resources for other critical enterprise services.
This isn’t all sunshine and roses. Some of the challenges will be data and performance of applications. The Citrix solution suggests a VPC as represented above. This would allow secure access to your desktop environment from your enterprise location however, I suspect network performance could be an issue. Network performance may indeed be the sticking point. Citrix would probably tell you to utilize both XenDesktop and XenApp to provide the best user experience. But I’d suspect that this isn’t as straight forward as you’d like. Having a using connect to a VDI session held in AWS which has a XenApp session back to your data center is ripe for finger pointing between the server and network guys when performance isn’t what’s expected. I haven’t even thought about the applications group.
Another issue is that a traditional complaint about AWS is uneven performance. I’ve heard that you can’t always depend on a consistent performance baseline for a given server configuration. This is indeed a hard nut for Cloud providers to crack. The very nature of cloud infrastructures makes performance pools very difficult to manage. Potentially you could have one desktop user with excellent performance and response time and another with less than desirable performance and with no insight into AWS’ infrastructure determining where the problem lies could be an issue.
Even with the potential performance challenges, I’m more than intrigued about this approach and not just from a cool technology perspective. This has the potential to really reduce the foot print of the data center and provide enhanced service for end user computing. Would you consider AWS hosted XenDesktop or VDI in general?