There are a number of options if you want to explore open source cloud. Below we touch open just a few:
Eucalyptus framework: Eucalyptus is an open-source software infrastructure for implementing “cloud computing” on clusters. The current interface to EUCALYPTUS is compatible with Amazon’s EC2 interface, but the infrastructure is designed to support multiple client-side interfaces. EUCALYPTUS is implemented using commonly available Linux tools and basic Web-service technologies making it easy to install and maintain.
Project Caroline: Project Caroline is Sun’s Open Source Cloud platform. At the moment it is a research project rather than a full product offering. The source code is fully available . Caroline works with Perl, Python, Ruby, PHP, and of course Java. It does not seem to have progressed as much as it should of since it was announced, but provides a full Cloud Computing stack. Check out the Application Idea Incubator forum for ideas for use.
Nimbus: We mentioned Nimbus in a prior post. Nimbus is an open source toolkit that allows you to turn your cluster into an Infrastructure-as-a-Service (IaaS) cloud. Nimbus also provides an EC2 frontend. This is an implementation of EC2 WSDL that allows you to use clients developed for the real EC2 system against Nimbus based clouds.
Ganglia: Ganglia is a scalable distributed monitoring system for high-performance computing systems such as clusters and Grids.Ganglia is an open-source project that grew out of the University of California, Berkeley Millennium Project. Ganglia seems tailor made for EC2 but can be difficult to setup. Amazon doesn’t support multicast on their network, so the default configs for Ganglia don’t work. To use Ganglia on EC2 you need to use unicast and set the send_metadata_interval (set it to something other than 0).
ParkPlace: ParkPlace is an S3 clone. Park Place purports to be a complete implementation of the S3 REST API. I’m not sure how Amazon will feel about this but just like the EC2 clones it can enable you to have your own private cloud data implementation, but without the ability to scale. Still, useful for testing.