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 Amazon.com's cloud offerings: EC2, EBS, and S3.
A few years ago, Amazon.com 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, Amazon.com 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
- Create an Amazon Web Services account.
- Login to EC2
- 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.)
- 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.)
- 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.