Citrix XenApp in the Amazon EC2 cloud is now simple with a (free) preconfigured virtual appliance

Now that Amazon's EC2 virtual machine-in-the-cloud service offers Windows-based VMs, Citrix has uploaded a preconfigured community machine image of XenApp 5 that's ready to go. So if you have an extra 30 minutes and can afford 12.

Now that Amazon's EC2 virtual machine-in-the-cloud service offers Windows-based VMs, Citrix has uploaded a preconfigured community machine image of XenApp 5 that's ready to go. So if you have an extra 30 minutes and can afford 12.5 cents per hour, you've got your own Citrix lab!

Understanding's cloud offerings: EC2, EBS, and S3.

A few years ago, CEO Jeff Bezos realized the gigantic, flexible, highly-available network of computers that supported their web store was possibly more impressive than the web store itself. He knew that other companies needed access to such a system and that Amazon could rent little slices of access to their system. Just like that, Amazon's cloud offerings were born. (They're officially called Amazon Web Services, or AWS.)

The "EC2" portion of the AWS offering stands for "Elastic Compute Cloud." It's basically a system where you can rent (Xen-based) virtual machines by the hour, and you only pay for what you actually use. Whether you only pay for a few minutes here and there as you play with new things or whether you run hundreds of systems 24 hours a day, can be your own datacenter.

Small Linux-based server instances start at just 10 cents per hour, and Windows instances start at 12.5 cents per hour. (And the Windows instances even include the licenses you need from Microsoft.) Everything is assembled a-la-carte. Data transfer is 10 cents per gigabyte, persistent data storage is 10-to-15 cents per gigabyte (depending on options), etc. You can even configure things like permissions, firewall properties, and IP address type.

Of course a virtual machine running in the cloud is worthless without data, and Amazon offers two types of persistent storage: EBS and S3. EBS ("elastic block storage") is a block-level device (like a hard drive or SAN) that you can attach and mount to any EC2 virtual machine. S3 is more like an FTP site. It can also be accessed via an EC2 VM, but you attach to it over the network. (So EC2 is like a hard drive, and S3 like a web share.)

The storage costs (measured per gigabyte per month) of EBS are actually a bit lower than S3. However you also pay for I/O requests, and the block-level I/O of a hard drive means that it will cost more to use than S3. (So you would just use EBS for stuff that has to be "local" to a VM, like the OS partition.)

Amazon also offers a feature where you can snapshot an EBS to an S3 volume. So if you're playing around with a VM and you want to "save" that for later use, then you can snapshot it over to S3 and just pay 15 cents per GB per month to store it. Then when you want to boot the VM to use it, you restore the image from S3 back to the storage volume for your VM.

Using Citrix XenApp 5 with EC2

Amazon EC2 machines boot up AMIs, or "Amazon Machine Images." Amazon provides several template images you can use for yourself. (So if you want to use Windows Server 2003, you just boot up their template and customize from there.) Amazon also allows people to upload and share their own AMIs. Citrix's Chris Fleck blogged about a new community AMI for XenApp 5 that Citrix uploaded. He recorded a 14-minute walk through video which is now on Citrix's uTIPu site.

You can be up and running in just a few minutes after just a few steps

  1. Create an Amazon Web Services account.
  2. Login to EC2
  3. Create a security profile that has the settings for the VM that you want to run. (Essentially this is where you open the ports you'll need to run your XenApp VM, typically 80, 443, 1494, 2598, and 3389.)
  4. Create a new VM using the 32-bit XenApp 5 community AMI. (This is where you select how powerful you want your VM to be.)
  5. Boot it up and start playing with it!

In his video, Chris Fleck connected immediately via the Citrix Web Interface to access some published applications, including a desktop. (Amazon assigns a temporary IP address to the running VM, although they also offer static options if that's needed.)

The template image from Citrix has XenApp 5 pre-installed, along with the two-user developer license key. It also has a desktop, a browser, and WordPad all pre-published so you can start playing with it immediately.

When you're done playing, you can either shut down the image and lose any changes you made, or you can snapshot the drive volume that was running over into S3. (Doing this means that you can later restore that disk image to continue where you left off.) Of course if you save your disk image via S3 then you'll be paying for monthly data storage fees which will probably work out to a few dollars per month. (If you choose not to save your disk image and you just terminate your VM, then your credit card won't be charged once that VM shuts down. It's kind of funny, because Amazon will charge you to the minute, so if you just play with this for 15 minutes you might get a charge to your credit card for four cents.

Before you walk away from your desk, make sure you shut down your VM! Remember, you're paying for that VM whenever it's running, and 12.5 cents per hour, 24 hours a day, will add up to $21 per week, or more than $80/month. (Imagine your surprise upon opening your credit card statement if you forgot you had that thing running!)

Is anyone ready to move real desktops to EC2?

I wrote about using EC2 for desktops in the cloud about six months ago. It's nice to know that Citrix and ICA work as expected in the cloud, although I'm still not sure anyone is ready to do this real real. (At minimum, you'd need to figure out the complexities of domain membership and authentication, and you'd have to figure out how to add your TS CALs to the cloud.

But for test purposes and to play around with the newer versions of XenApp, you can't beat 12.5 cents per hour to be up and running inside of thirty minutes. It's very possible that Amazon EC2 might completely replace my own Citrix lab.

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

So if I have this right, per person, we are talking $960/yr for a 24x7 VM, plus $18/yr for 10GB S3 storage, plus "whatever" for EBS storage & xfer would be well under $2k/yr (maybe closer to $1k?).  So a brand new (non techical) startup could get going with 10 people, each with a VDI desktop plus one templated server for colaberation for maybe $20k/year.  Even throw in a consultant to help out 80hrs per year and you are well below the costs of the hardware/OS and someone fulltime to run things.  (Still have to buy the apps in either case).   And the TS/XenServer numbers instead of desktops are way better.

I certainly am not ready for this, but perhaps I'll have to stop calling it "clown computing".


Are they (Amazon) using Xen open source for the Windows VMs?

If so then what drivers do they use?


@Tim, yeah, and also think that you wouldn't need to keep all the VMs on at all times. If the individual users turn them on and off, you could probably cut that cost in half. (Maybe someone will write a open connection broker or something that could do that?)


The drivers answer -

They are using RedHat Xen and RH PV Drivers for windows.

Which is nice since these drivers cost money!


Great post Brian. Initially this should make it easy for everyone to get hands on with XenApp, longer term the possibilities are really dramatic.

I am interested to know from your readers if they expect to start using the cloud for test as well. If you look at how virtualization first got popular it was test & dev. The same may hold true for the cloud.


I don't think an EC2 based virtual lab is going to replace the physical lab any time soon, there are too many tasks that require lower level access than can be provided with virtual machine.  Having said that, I've been using this service for the last month or so and it's clear that even in this single server implementation there's a real benefit to be had. There's much work still to be done; AD integration and growing the environment to provide a multi-server farm, Secure Gateway services, etc.

Setting aside any possible future development of this service for the moment, this simple single server XenApp 5 implementation is a game changing event in its self. In releasing this Community AIM, Citrix has given every XenApp admin in the world their own personal lab environment for $1 per day.

Think what that means...


I can't see any Enterprise customer (especially those in Financial Services) wanting to adopt something like this for supporting XenApp or XenDesktop for a production solution.  The security ramifications are just too great.  That being said, I'm sure there's plenty of CxOs that read all about cloud in their latest issue of Wired magazine and are all amp'd up about adopting it.

All of this being said, I can see a potential need / exploration in the SMB market and I can also see a need for potential use in two other areas:

1) Small scale lab / demo testing where you might lack the hardware or provisioning capabilities to test something on a grand scale AND it doesn't require secure connectivity to do so.

2) Organizations that way to stick something out there for use by third parties where the app/environment doesn't need internal access and/or they are not prepared to support Federation Services.

That's my .02.


BTW, I looked at the idea of doing this for lab replacement (which I deemed too expensive over the long run for my personal needs) and for customer environments in the SMB space and the conclusion I came to there was that there would be some challenges in setting up effective security perimeter for a complete hosted environment.  Sure Amazon might give you a firewall pinhole for a few ports, but do they have the capability to offer tiered DMZs and/or VLAN'ing, etc?


I work in Financial Services and the assumption that things are so secure that the cloud is not an option is a myth. Of course companies will consider the cloud for purposes such as horizontal scale out of data less processes earlier and once the cloud provides more security and features things begin to move in and out of the cloud as needed. Financial Services comapnies are also ahead in VDI, and these are not for STRANGE reasons as so many bloggers keep posting. The difference is you can keep thinking about constraints and ignor opportuinities to do soehting new, hence I will predict that Financial Services will be smartest users of the clould early just like they are VDI.


How does a farm of XenApp servers load balance itself?

Does it use the built-in XenApp load balancer or it uses Amazon's functionality for load balancing?

Does XenApp integrate with EC2 in any way using EC2's Web Service functionality?

If it does, what specific XenApp functions or features are integrated with EC2's Web Services?