I had a brief interview yesterday with Mårten Mickos, who left his role as a chief office of MySQL around the time it was being sold to Oracle as part of the Sun deal and has taken on the CEO role at Eucalyptus Systems. Founded by developers of the open-source Eucalyptus project, this company offers both free and commercially licensed versions of the software, which implements the Amazon Web Services interface on client systems.
Eucalyptus balances on the line between cloud services--such as Amazon, Azure, and Google App Engine--and virtualization tools such as VMware, Hyper-V, Xen, and KVM. The basic relationship is this: Eucalyptus runs on top of Xen, KVM, or (in the commercially licensed version) VMware, and lets you set up a service that acts like Amazon's EC2 or S3.
Here are some of the questions I tossed at Mickos.
Do people want to run a private cloud?
Signing up for AWS or Azure is much easier than running your own systems. But Mickos and I agree that organizations have lots of reasons to set up private clouds:
- Financial savings
- At least currently, unless your usage is quite small or sporadic, contracting with an external cloud provider costs more than running your own servers. This may change in the future as the big cloud providers compete more fiercely and take better advantage of economies of scale.
- Legal and security requirements
- Laws lag behind technology, as usual, and a number of laws in both the U.S. and Europe require that companies keep certain types of data on their internal systems (where presumably they can apply reliable security) or on other systems where they can offer security guarantees totally absent from the Amazon SLA of Microsoft Azure SLA.
- Current SLAs don't offer the number of 9's most businesses want to run critical software. They're fine for background jobs and research projects, but not for selling into national or global markets.
- Response time is totally unpredictable on public clouds, and given the latencies in wide-are networks, they're likely to remain that way.
- Organizations that already have servers need to run out and depreciate them. They also may want free rein to play with different types of virtualization and cloud paradigms before moving into a public cloud.
Is a private cloud too hard to manage?
A huge number of sites have set up virtualization. But the logistical, financial, and organizational issues involved in providing on-demand computing for your internal departments is a whole extra level of complexity. Various parts of the organization have to assemble all those parts, but Mickos believes that clouds will make provisioning easier and will enable self-provisioning.
Higher-level interfaces on top of the AWS API will eventually bring cloud computing down to the level of less experienced administrators. At Eucalyptus, Mickos says their initial challenge was to make the existing API work on a full range of modern hardware and software, whereas Amazon has standardized on Intel and Linux. But it's certainly possible to add higher layers in the future, either within Eucalyptus Systems or through the open-source community process.
Is the AWS API the right one to build a service on?
It was natural to implement the Amazon services API because it is by far the most popular, but the Eucalyptus project leaders looked beyond market share and came to like the API for other reasons. Mickos says the API is built for massive scalability, so they are confident their business and their client's businesses can depend on it. Furthermore, this scalability makes the Amazon API a robust foundation on which to offer other APIs, should Eucalyptus decide to do so in the future.
Clouds, open source, and business
Neither Mickos nor I can sympathize with the fear of cloud computing expressed in some segments of the open source community. The advantages of virtualization are just too compelling to reject. No programmer writes the memory locations where her program is to run and places a batch of cards on a queue to reserve a whole mainframe any more. Just as virtual memory has maximized the performance of general-purpose time-sharing systems, cloud computing will be cheaper, greener, and ultimately easier than running local hardware.
Furthermore, we agree that open source and cloud computing go naturally together, because open source has learned to thrive without the per-seat licensing that clouds render obsolete. Clouds exploit open source software more fully than any earlier deployment.
But open source and clouds still need business models. Mickos's strongest statement to me was, "I'm convinced that the best thing you can do for open source is to make money with it." By doing so you create value that you can feed back into the system, while at the same time integrating open source software into a market where the average company can use it.
He said that Eucalyptus was just an interesting experiment before the developers decided to go commercial. Had nobody commercialized it, Eucalyptus could well have remained one of those trophy projects that open source advocates love to point to ("see, open source made this possible!") without actually gaining wide acceptance.
The business model at Eucalyptus Systems is similar to the one MySQL has had during the past few years: "open source core" in Mickos's terminology. The basics are open source and downloadable for free, whereas key features of interest to organizations with big bucks--high availability, for instance--are restricted to the commercial version. Training and support are offered too, of course.
Eucalyptus is a unique offering and seems to be making inroads. Downloads have gone from about 2,000 per month half a year ago to 10,000 per month now. That doesn't even count the Ubuntu-related downloads through Canonical, which has a partnership with Eucalyptus Systems. But I can't report all the questions I asked Mickos, because he frankly didn't always have answers--as he stressed a few times, the cloud industry is still in its infancy.