EUCALYPTUS - Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems


Rich Wolski from University of California, Santa Barbara is speaking about an open source implementation of cloud computing that has an interface compatible with Amazon's EC2 called Eucalyptus.

Rich does research on grid computing. He's been looking for the "open source" cloud. He mentions Numbus (Univ. of Chicago) and Enomalism. But nothing came close to what they wanted: Linux image hosting ala Amazon.

By choosing to make their interface compatible with EC2, they take advantage of all the client side tools that work with EC2 to manage machines in Eucalyptus. They want one-button install of their system on top of a cluster of machines.

The goals:

  • Foster research in cloud computing
  • Create a vehicle for experimentation prior to buying commercial services
  • Provide a debugging and development platform for EC2
  • Provide a development platform for the open source community
  • Not designed as a replacement technology for EC2 or other cloud services

Challenges:

  • Extensibility - simple architecture and open internal APIs
  • Client side interface - Based on the EC2 WSDL and 2008 compliant except for static IP address assignment and security groups. There's no public information on system administration of the cloud, so Eucalyptus provided it's own interface for that.
  • Networking - VPN per cloud. Public IPs are scarce, so all cloud images have access to a private network interface, but not public interfaces.
  • Security - authentication and authorization. All Eucalyptus components use WS-SEcurity for authentication. Intercomponent messages are not encrypted by default. SSH key generation and installation 'ala EC2 is implemented.
  • Packaging, installation, maintenance - uses Rocks. They want to change this.

Lessons learned:

  • Open source for cloud computing constrains design more than they thought it would. Local configuration choices provide real challenge.
  • No one in the real world still build clusters by hand.
  • There are few cloud computing configuration tools available.