As part of my professional job I'm currently doing some research on scaling complex event processing engines. Enterprise level complex event processing will almost always involve spanning processes across machine boundaries. I have been using VMWare Workstation and Microsoft Virtual PC for some of my early prototypes, however, I soon ran into the problem that running more than 2-4 machines in parallel got quite difficult given the overhead added by the virtualization software itself.
I decided to look into Amazon's Elastic Computing Cloud (EC2) service which I have heard of before but never tried it myself.
EC2 has a pretty steep learning curve and unfortunately Amazon does not do a good job to help new subscribers getting started. In fact there is a Getting Started document available but it merely provides a way too high level overview of what the service delivers.
After quite a while I finally got Ubuntu running inside the cloud and managed to get the Ubuntu desktop on my Windows Vista desktop via NoMachine NX Server for Linux and client for Vista. Here is a screen shot of the Ubuntu desktop served from within Amazon's Elastic Computing Cloud running an instance of OpenOffice Writer right next to Internet Explorer all on my Windows Vista desktop.
(Click to enlarge)
I have to say the responsiveness and performance of the applications serviced this way very much impressed me. It's almost as if I use them as locally installed apps!
Unfortunately my current work load does not allow me to write an in-depth step-by-step guide explaining how I've set this up. I might be able to write a tutorial this next weekend. Until then the following links might be of help:
- Amazon Web Services Home
Select "Amazon Elastic Compute Cloud" in the Infrastructure Services section to sign up for EC2. Note: You automatically get signed up for Amazon's storage service (S3), too, which can be used to upload Amazon Machine Images to EC2.
- Mike Culver video tutorial: Setting up and Running Amazon EC2 from Windows (right click > Save as...)
- Preconfigured Ubuntu 7.10 Gutsy Desktop with NX Free Edition Server
This is the Amazon Machine Image which I've used. I modified parts of it to better suite my needs but if you want to get started fast this is the image to go for.
- Cygwin
All of the EC2 command line tools are available for Windows and Linux, however, I prefer to use Cygwin as most of the material I found online tends to present tutorials based on Linux.
- Google ec2ubuntu Group
Very competent members helping newbies like me with running Ubtunu inside the Amazon cloud.
- Firefox Extension for Amazon EC2
Great extension which allows you to handle your EC2 instances graphically. (I highly recommend to start with the command line tools, though, as this will help you understand in detail what's going on.)
Hope to get some feedback from your experience with EC2.