Over the last one month, I have been reading and testing a couple of the open source cloud computing projects, such as OpenNebula, DevStack, Eucalyptus and Nimbus before deciding on which one to use. I noticed that not all of the projects are full-fledged could computing software; that is, not all of them exist as a suite of services. I like the way OpenNebula has been built; it has three controllers – node, cluster and cloud controllers. And then came OpenStack with its five major components, namely Compute, Object Storage, Image Service, Dashboard and Identity. It is worth mentioning that most of these projects technically use the same codebase, though they are often extended to meet the requirements of each project. To choose the platform I would use in my research, I factored in the OS I am using, community involvement in the project and the current state of the project, In addition, for the full fledged projects, I considered interoperability with other platforms e.g. other storage and image services.
None of these projects is easy to deploy. I spent days trying to get them to work. After experimenting with a number of them, I decided to focus on OpenStack. OpenStack is a full-fledged cloud computing software with services, such as Image and Identity services. In addition, it is a suite offered by the same team. One could choose to use all its components or use some of them with other solutions – Amazon EC2, BoxGrinder, e.t.c. It can however be used to deliver a massively scalable cloud operating system. Getting the OpenStack basic services (glance for image service and nova for compute, network, scheduler and volume services) up and running seems easy; but things start getting difficult (and messy) when one tries to integrate its dashboard (called Horizon). Integrating its dashboard requires installing the Identity component (called Keystone). In addition, one would need to get Glance to authenticate with Keystone. Getting the whole suite working would require one starting a number of services, pretty much like running the OpenIMSCore.
Below are some screenshots of the dashboard showing, among other things, the instances limit and the instance(s) running on the test machine. OpenStack has also been tested with BoxGrinder. Many thanks to the members of the CPUT CRDOT and guys at the OpenStack IRC channel for their help.