When Mark Shuttleworth announced the future Ubuntu 9.10 release, Karmic Koala, the goals he outlined for the server version were all to do with cloud computing but you might be asking 'What is cloud computing ?' I answer this question and investigate what it can do for Ubuntu?

The definition of the term cloud computing is actually about as clear as a cloud itself. Clouds were first used in network diagrams as an abstract of part of a network whose infrastructure the diagram was not concerned with showing.

This use of the cloud metaphor is now used in the term cloud computing to abstract the network infrastructure and server platforms of the datacentre. In this context, cloud computing describes the use of scalable computing resources and infrastructure, provided as a service for a user to run applications on with the user never needing to have any specific knowledge of the infrastructure their application runs on. Their application is run on 'the cloud'.

Be your own Amazon

One of the best known cloud computing platforms is Amazon's Web Services and in particular their EC2 (Elastic Compute Cloud) platform. To run an application on EC2, you need to upload an AMI (Amazon Machine Image) file to the platform and execute it. An AMI contains the applications and a complete operating system in a file and you run this on the Amazon platform as a virtual machine.

Once on the EC2 platform, your virtual machine has access to the vast computing resources available but you only pay for the resources you use - cloud computing gives you scalability at an affordable cost.

The Amazon platform itself is built around the use of the Xen hypervisor, which the machine images are run on top of. Karmic will include Eucalyptus, a FOSS implementation of the EC2 interface that allows you to run AMIs on your own cluster of servers, effectively allowing you to create your own Amazon cloud. Given that Eucalyptus requires the Xen hypervisor, it would seem that work needs to be done on a Xen kernel image for Karmic's release, something that has been missing from Ubuntu releases for nearly 18 months since the decision was made to drop Xen in favour of KVM as the supported virtualisation solution.

New Opportunities

When I recently built a high availability cluster, I used openSUSE because of the lack of Xen support in Ubuntu Server so this is a welcome move that gives Ubuntu server the opportunity to be implemented in situations where it couldn't be before and this will lead to an increased install base.

Although there are some concerns over the alignment of Ubuntu with the proprietary EC2 platform - Canonical have also been working on official Ubuntu EC2 machine images. I see this only as a good thing. I haven't read much about other OSes prioritising cloud functionality in this way. I think it has created a buzz around Ubuntu server that it can be run 'on the cloud' so if I were creating a system that I may want to scale out to the cloud I'm going to want to be running Ubuntu server.

And with the inclusion of Eucalyptus, we could see the appearance of low cost or even community cloud providers offering services based on a platform of Ubuntu servers.

Contributing blogger Guy Thouret is a software engineer for a wireless energy management system company. He has used various GNU/Linux distributions since 2002.

WorksWithU is updated multiple times per week. Don’t miss a single post. Sign up for our RSS and Twitter feeds (available now) and newsletter (coming in 2009).