Since 2013 Citrix supports running XenApp & XenDesktop on Windows Azure. I wanted to be able to have a demo / Proof of concept environment showing XenApp, XenMobile, AppController and ShareFile on Windows Azure to demo to customers.
My experiment was to see if AppController can run on Windows Azure. To make a long story short: it does not…
If you are interested in why not, read on.
AppController is distributed by Citrix as a virtual appliance. It can run on XenServer, Hyper-V and VMware ESXi. I could not find any documentation which said which Linux distribution is used. If I had that info I could decide if AppController could be run on Azure. There is no mentioning of Azure support in Citrix documentation nor on blogs.
As Azure runs Hyper-V 2008 and Hyper-V 2012 in datacenters and does support some Linux guest I deciced just to give it a go. In the Netherlands we say “if you do not shoot, you will always miss.. ”
So I downloaded the VHD file and created a new virtual machine on Hyper-V Manager. This allowed me to configure the appliance. It requires an IP-address. I set this is x.x.x.4 . I enabled SSH to be able to do some remote management.
I also created a virtual network in Azure to have control over the subnet used by the AppController VM.
First challenge was the format of the VHD supplied by Citrix. This was in a dynamically expanding disk which Azure does not support. So I needed to convert the vhd from dynamically expanding to fixed size. I used Hyper-V Manager for that task. Mind you will need enough diskspace to host the maximum filesize of the VHD. The maximum filesize of the supplied VHD is set to 50 GB.
After that I did an upload to Azure and tried to convert the VHD to Disk. Error! Grrr. The filesize was not a whole number. So used Vhd resizer on my laptop to convert the vhd filesize to a whole number. This finished in about 15 minutes.
Another upload. Luckily empty spaces in a VHD are not uploaded to Azure so upload is rather quick.
As an administrator you do not have much control over IP assignment in Azure. IP-addresses are assigned by a Microsoft managed DHCP server. The first VM which boots in an ’empty’ subnet will receive IP x.x.x.4 , the next x.x.x.5 and so on.
So created a VM using the just uploaded vhd. Made sure this VM was the first in the subnet. Booted the VM and the state shows running. However no response on http/https/ssh.
Windows Azure does not offer a remote console. So there is no way to monitor the boot process of this Linux based virtual machine. I guess the boot process just halts on trying to ‘find’ some hardware devices like network interface.
I hope this info was usefull.