Open Source Cloud Computing Solutions - Part1 : Enterprise Private Clouds
Why Enterprise Private Clouds?
I think there will always be some enterprise applications for which public clouds may not be a good choice. The reasons could be security concerns or compliance\governance requirements that can’t be met with public clouds or performance\latency requirements. Besides, there is so much investment made by the enterprises in their existing data centers which are not going away overnight. It’s a no-brainer that the first thing someone who has already made investments would look for, is to figure out how to extract more out of it which is where private clouds come in.
As this article http://www.pcworld.com/article/162679/it_pros_private_clouds_a_good_first_step_to_cloud_computing.html says, I too believe “Deploying a private cloud network is a good way for enterprises to ease into cloud computing before deploying applications on the infrastructures of companies such as Amazon Web Services (AWS) and Microsoft..“ so, I believe there will be organizations looking for private cloud solutions. From what I read, average data center utilization in a typical organization is less than 20% and virtualization can help improve that to around 30-35% so, over the next few years virtualization is going to become main stream. Forrester predicts that two-thirds of IT organizations will be using virtualization by 2009.
Currently the target for virtualization is to reach a stage where nodes can be provisioned on-demand with the basic OS stack.The way I look at it, a natural extension to this (virtualization of the infrastructure) is virtualization of the platforms and applications. So, I believe setting up private clouds will be the next logical step in this evolution (towards PaaS & SaaS). I think the platform vendors will soon start offering virtual appliances for their platforms (like storage, application servers, collaboration & communication platforms etc) so that they are available as services. See the categories and offerings at http://www.vmware.com/appliances/ to get an idea of the potential platforms amenable for this. So, as these offerings from the vendors mature, platform virtualization is the next step that enterprises will be looking to go towards as that is going to help increase the data center utilizations further. I don’t think we are too far from where once an application is ready to be deployed, there will be a repository of virtual appliances that a infrastructure architect\administrator will be able to pick from and provision the hardware and platforms needed. The next step from there would be application virtualization. See the diagram at http://www.infosys.com/cloud-computing/images/solutions.gif for our view of how we believe the cloud computing stack is going to look like.
Eucalyptus Framework (http://open.eucalyptus.com/)
There are a few open source solutions we looked at for creating enterprise private clouds. I will briefly talk about Eucalyptus here which was our first choice to experiment with. Eucalyptus is an open source solution that helps create private clouds. The reason this is interesting is because, it provides API compatibility with EC2 and S3. One more reason why I got interested in this is because most of the code is written in Java and since most of the team I am working with is proficient in Java, it will enable us dig deeper if we get stuck and also it will be easier if we need to add more features. We have setup an 8 node private cloud in the lab and have been experimenting with it.
Eucalyptus still lacks some of the enterprise features like failover support for some of the key components, management and monitoring etc that are needed for creating large enterprise private cloud networks. We are looking into adding some of these capabilities. One of the usecases that I think it could be useful for is creating Virtual Appliances for other open source solutions. It provides all the building blocks needed to create virtual appliances. We are checking how we can leverage it to add on-demand capabilities to some of the other open source solutions like Hadoop and create say a HDFS virtual appliance that adds storage on demand with commodity hardware.


