Over the last five years, since the release of the first open-source version of OpenNebula in March 2008, we have been involved in many presentations, discussions and meetings where people wanted to know how OpenNebula compares with the rest of open-source Cloud Management Platforms (CMPs), mostly with Eucalyptus and OpenStack. The most common understanding is that all CMPs are competing in the same market, trying to fill the same gap. Consequently, people jump to the wrong conclusion that after years of a fierce competition, there will only be one winner, a single open-source CMP in the market. However, as discussed by Joe Brockmeier in his post “It’s Not Highlander, There Can Be More Than One Open Source Cloud”, there is room in the market for several open-source CMPs that, addressing different cloud niches, will fit together into a broad open cloud ecosystem.
We have prepared this article to briefly describe our experience about the different types of cloud models, and our view about how the main open-source CMPs are targeting their needs. Do not expect a table comparing side-by-side the size of the communities, technical features of the different tools, or the management structure of the projects. We have tried to focus only on their general approaches, on their overall position in the cloud market, and, of course we have tried to be as neutral as possible.
Two Different Cloud Models
Although there are as many ways to understand cloud computing as there are organizations planning to build a cloud, they mostly fall between two extreme cloud models:
- Datacenter Virtualization: On one side, there are businesses that understand cloud as an extension of virtualization in the datacenter; hence looking for a vCloud-like infrastructure automation tool to orchestrate and simplify the management of the virtualized resources.
- Infrastructure Provision: On the other side, there are businesses that understand cloud as an AWS-like cloud on-premise; hence looking for a provisioning tool to supply virtualized resources on-demand.
Yes, we know, we said that we wanted to focus only on open-source CMPs. However we have intentionally used two of the principal cloud “products”, VMware vCloud and AWS, a proprietary CMP and a cloud service, because they are the most well known implementations of both models. We will go even a step ahead and claim that most of the users in the first cloud model explicitly express their willingness to find an open alternative to vCloud because it is too expensive, because they want to avoid vendor lock-in, or because it cannot be adapted to meet their needs. Equally, users in the second cloud model explicitly mention Amazon as the type of cloud they want to build internally.
The following table describes the main characteristics of both types of clouds. This is not an exhaustive list, I’m just putting it here to illustrate some of the differences between both philosophies.
|Datacenter Virtualization||Infrastructure Provision|
|Applications||Multi-tiered applications defined in a traditional, “enterprise” way||“Re-architected” applications to fit into the cloud paradigm|
|Interfaces||Feature-rich API and administration portal||Simple cloud APIs and self-service portal|
|Management Capabilities||Complete life-cycle management of virtual and physical resources||Simplified life-cycle management of virtual resources with abstraction of underlying infrastructure|
|Cloud Deployment||Mostly private||Mostly public|
|Internal Design||Bottom-up design dictated by the management of datacenter complexity||Top-down design dictated by the efficient implementation of cloud interfaces|
|Enterprise Capabilities||High availability, fault tolerance, replication, scheduling… provided by the cloud management platform||Most of them built into the application, as in “design for failure”|
|Datacenter Integration||Easy to adapt to fit into any existing infrastructure environment to leverage IT investments||Built on new, homogeneous commodity infrastructure|
This classification of existing cloud models is not new. The “Datacenter Virtualization” and “Infrastructure Provider” cloud models have received different names by different authors: “Enterprise Cloud” and “Next Generation Cloud” by many analysts, “Cloud-in” and “Cloud-out” by Lydia Leong, “Enterprise Cloud “and “Open Cloud” by Randy Bias, “Enterprise Cloud” and “Private Cloud” by Simon Wardley, “Private Cloud” and “Public Cloud” by Matt Asay, and “Policy-based Clouds” and “Design for fail Clouds” by Massimo Re Ferrè, who also categorized these models as “Design Infrastructure to support Applications” versus “Design Applications that leverage Infrastructures”.
Two Different Flavors of Cloud Management Platforms
Existing open-source CMPs can be placed somewhere in between both models. We have created a chart, the CMP Quadrant, aiming to aid corporations to better understand the present and future landscape of the cloud market. One of the dimensions is the “Cloud Model” and the second one represents “Flexibility” in terms of the capabilities of the product to adapt to datacenter services and to be customized to provide a differentiated cloud service. This dimension captures the grade of adaptability of the product, and goes from low to high. Finally, we have placed in the chart the main open-source players in the cloud ecosystem: Eucalyptus, CloudStack, OpenStack and OpenNebula… or at least those tools that are commonly compared to OpenNebula by our users and customers.
Some important clarifications,
- We are not suggesting that one position (read “tool”) in the chart is better than other, only that some of the CMPs are so different that cannot be compared, they are on completely different tracks (read “zones in the Quadrant”).
- The chart does not represent absolute values, the relevant information is in the relative positions of the CMPs with respect to their “Cloud Model” and “Flexibility”.
- The openness of the software is orthogonal to this chart, you can also use it to compare proprietary CMPs.
- Any CMP can be used to build either public or private clouds, all of the CMPs in the Quadrant implement cloud APIs.
- And last, but not least, this map is not static, the different CMPs will move right, left, up or down over time, but they cannot be simultaneously in different places. There is not a single perfect solution for every possible scenario.
Comparing vCloud to AWS or comparing vCloud to OpenStack is like comparing apples to oranges as it has been clearly expressed by Massimo Re Ferrè and Boris Renski respectively. Both are fruits but with very different flavor. That being said, it is clear that since all the tools enable infrastructure cloud computing, there is always some overlap in the features that they provide. This overlap tends to be larger for those tools that are closer on the “Cloud Model” axis.
There are fundamental differences in philosophy and target market between OpenNebula and Eucalyptus They are in opposite zones of the Quadrant servicing different needs and implementing completely different philosophies. I would say that they represent the open-source incarnations closer to vCloud and AWS respectively. In the same way many companies compare OpenNebula with OpenStack because both represent flexible solutions that can be adapted to their needs, but wrongly think that both enable the same type of cloud. It is also clear that Eucalyptus and OpenStack meet the same need and so compete for the same type of cloud.
Looking to the Future
In OpenNebula, we do not think that one cloud model will dominate over the other. They may converge at the very long term, but not before 10 years. Consequently, and because a single CMP can not be all things to all people, we will see an open-source cloud space with several offerings focused on different environments and/or industries. This will be the natural evolution, the same happened in other markets. The four open-source CMPs will coexist and, in some cases, work together in a broad open cloud ecosystem.
To a certain extent, this collaboration has started yet. Some of our users have reported experiences using OpenNebula with other cloud platforms:
- Some corporations are mixing an Enterprise Cloud with an in-house Cloud Service. They are implementing a cloudbursting architecture where an OpenNebula enterprise cloud bursts to an OpenStack- or Eucalyptus-based cloud when the demand for computing capacity spikes.
- Other corporations are using components from different projects to build their cloud. The integration capabilities of OpenNebula are allowing its integration with OpenStack Swift or OpenStack Quantum for object/block store and networking management respectively in the data center.
We are sure that in the short term we will see some of the open-source CMPs working together, while at the same time finding ways to differentiate themselves in their own cloud markets.