Monday, 6 April 2009

Where should I put my desktop?

It may sound like an odd question but in reality you don't need to have your desktop on the machine that's physically in front of you anymore. The cloud based desktop has arrived or has it?

As the idea of the "cloud" expands, having your desktop hosted in a data centre comes closer to reality. In fact there is already a few service offerings available today, that will allow me to host any number of machines at the flick of a switch, for next to nothing. EC2 is the name of such a service that is part of the Amazon Web Services umbrella.

It allows you to switch on and off machines, using images you've created, so that they have all your required applications installed and ready to go. You have access to persistent storage, that's backed up and distributed across multiple sites and you no longer need to worry about your machine becoming unstable because every time you boot it up it launches from the base image.

If you need to make changes to the base image, for example you need to install a new product or update an existing application, you can overwrite the base image or better still just create a new image. This way if the platform becomes unstable, you simple stop the instance and start using the old image and you've rolled back any changes - perfect!

But best of all this machine can change it's hardware profile depending on the task at hand. If you're doing some video editing and need lots of memory/CPU then you can boot the image on a higher spec machine. For day to day use, you may just use the smaller hardware profile and the beauty of it is you only pay for what you use.

At the end of the day, I switch the virtual machine off and I stop paying for it. It's very similar to a using a hire car when they limit your milage. You don't pay while the car is stopped, likewise you don't pay for hosting a machine that's not running (except for a small disk usage charge but this is really tiny).

The uses for this are endless - to the extent that you could consider using this as a method of hosting multiple clients development environments. Build the base image, launch the number of instances required (one for each developer) and you're done - an instant place to being work.

Go and check out Amazon for more information as well as IBM, Microsoft and Salesfore.com - they all offer similar services.