EUCALYPTUS: a Tree Growing in the Cloud
From the Linux (and Linux Journal) perspective, there's an issue with clouds—those back-end Web services that compose Utility Computing. They're proprietary. Amazon owns AWS (Amazon Web Services: S3, EC2 and a growing number of others). Google, Microsoft and other companies own theirs as well.
These are open in the sense that most services are substitutable, which makes them utilities. If you don't like storing your data at Amazon's S3, you can park it elsewhere. The documents you create and keep at Google Docs can be put elsewhere as well. Elastic computing is more tricky, but it should be substitutable as well.
In a way, all these data centers are available to the public as a utility service. They are an important trend in computing, comprising the growth of a vast open SLA (service-level agreement) infrastructure for computing resources spread across the Net. (Nicholas G. Carr wrote about all this in his book The Big Switch—Rewiring the World, from Edison to Google. I visited the topic in “The Bigger Switch”, my EOF column in the May 2008 issue of Linux Journal.)
But, why should The Cloud consist only of proprietary back ends? How about building our own cloud services, our own way?
I was pleased to find an answer from colleagues at UCSB (where I'm a fellow at the Center for Information Technology & Society), namely Rich Wolski and his merry band of computer scientists in the Computer Science Department. There they have created EUCALYPTUS (Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems). It's what they call “an open-source software infrastructure for implementing Elastic/Utility/Cloud computing using computing clusters and/or workstation farms”. It is interface-compatible with Amazon's EC2 (the de facto standard for elastic cloud computing) and designed for modification and extension as needed for you-name-it client-side interfaces. Most important for Linux Journal readers, “EUCALYPTUS is implemented using commonly available Linux tools and basic Web service technology making it easy to install and maintain”, they say.
The issue for IT folks is a range of choices that should include DIY as well as commercial back ends. Rich Wolski puts it this way:
Cloud computing permits “self-service” IT independently of whether the provider is an external company or an internal IT organization. Part of what makes IT onerous these days is that the infrastructure organization also must be a customer service organization. Cloud computing really streamlines customer service for IT in the same way that Web-based e-commerce streamlined customer service for retail. It doesn't eliminate the need entirely (you still can get someone on the phone even when a company has an e-commerce site), but it does improve the business efficiency considerably.
For more information, check out eucalyptus.cs.ucsb.edu.