ℹ️ For the latest information on OpenNebula vs OpenStack, visit – Comparing OpenNebula vs OpenStack for the Enterprise ℹ️
We’ve crafted this post to answer a recurring question we’ve been hearing lately, especially from organizations planning to build their own private cloud:
How do you compare OpenNebula with OpenStack?…
This is indeed a complex question. There is no single answer because open-source projects and technologies present several dimensions. But we are far from afraid to answer it: the short, tl;dr version would be that they represent two different open-source models. While OpenNebula is an open-source effort focused on user needs, OpenStack is a vendor-driven effort.
This is neither a question of one being better than the other, they simply represent different approaches. Let us compare both open source options based on the following criteria: internal organization, governance model, roadmap definition, contributor profile, target user, product, and market competition. Obviously, this comparison is biased (no way around that), but we have tried to be as neutral as possible.
A. Different Open-source Project Models
Both projects release code under the liberal Apache 2.0 license, follow a transparent development process with a public roadmap and have the same license agreement for new contributions. They present significant differences though, especially in:
- Internal Organization. While OpenStack comprises many different subprojects (14 at the time of writing this post) aimed at building the different subsystems in cloud infrastructure, OpenNebula offers a single integrated, comprehensive management platform for all cloud subsystems.
- Governance Model. The main difference between both projects is in their governance model, mainly for the definition of the architecture, the release cycle, and the roadmap. While OpenStack is controlled by a Foundation driven by vendors, OpenNebula follows a centralized, “Benevolent Dictator” approach. OpenNebula is managed by a single organization that focuses on the interest of the project and strategically leads it to ensure that meets users’ needs.
- Roadmap Definition. OpenNebula roadmap is completely driven by users’ needs with features that meet real demands, and not features that result from an agreement among the different vendors participating in the management board of the project.
- Contributor Profile. While in OpenNebula most of the contributions come from the users of the software, the contributors to OpenStack are mostly vendors building their own OpenStack-based cloud product. Since we started OpenNebula six years ago, we wanted users to have a voice in the project and not to privilege contributors over users.
Now the question is,
Why is OpenNebula following a “Benevolent Dictator” management model?.
In our view, OpenStack is governed by a consortium of competitors, trying to create its own product or to provide compatibility for its particular device. The mixture of vendor motivations makes it increasingly difficult for a foundation to meet both the needs of the project and the monetization goals of each vendor. It is also interesting to remark that many of these vendors are also offering commercial products that directly compete with OpenStack components.
Traditionally, multi-vendor industrial consortiums are the best approach to commoditizing a core component in the long term, mainly when there exists solid base software, but not to bring to market a complete enterprise-ready solution from scratch in the short term. In these situations, the addition of more developers and members slows the project down, and the well-known Brooks law (The Mythical Man-Month) applies both at the development and governance levels. OpenStack is reaching a point where the consensus-based approach has limited the competitiveness of the project.
We believe that a centralized model with strong individual leadership is the best way to quickly build a production-ready enterprise-class open-source product, mainly in the early stages of a fast-growing market. Please do not pin this on us being control freaks; we do so because we want to create a great product and we want to take responsibility for the entire product and need to be responsive to our users. Benevolent dictator governance is the model followed by other successful open-source projects like Android or Linux Kernel, and, in our view, it is the most effective way to focus on engineering quality, to prioritize user needs, and also to ensure long-term support.
The above reasons are the foundation of this claim: OpenNebula is made for users by users, and OpenStack is made for vendors by vendors. This may seem like a daring statement, but we have been following this path for years, and haven’t observed anything that proves this wrong.
B. 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:
- Enterprise Cloud Model (Datacenter Virtualization): On one side, there are businesses that understand the cloud as an extension of virtualization in the datacenter; hence looking for a VMware vCloud-like infrastructure automation tool to orchestrate and simplify the management of the virtualized resources.
- Public Cloud Model (Infrastructure Provision): On the other side, there are businesses that understand the cloud as an AWS-like cloud on-premise; hence looking for a provisioning tool to supply virtualized resources on-demand.
Although OpenStack now tries to be everything for everyone, it was created as an open-source effort to compete against Amazon Web Services (AWS). Therefore while OpenStack is addressing the Infrastructure Provision segment; OpenNebula better meets the needs of Enterprise Cloud Computing. Since both tools enable infrastructure cloud computing, there is some overlap in the features they provide. However, each cloud model presents different architectural constraints and requires specialized interfaces, management capabilities, and integration support. OpenNebula and OpenStack serve different needs and implement completely different philosophies.
C. Different Product Views
OpenNebula is a single enterprise-ready open-source product, easy to install and operate, with a single installing and updating process, a one-stop community, and long-term commercial support. Any organization can use the open-source distribution to build a production cloud and receive best-effort support through the community mailing list. Additionally, any organization can purchase commercial support directly from the developers. The important aspect is that we do not deliver enterprise editions of the software, we commercially support the community software.
On the other hand, OpenStack comprises many subprojects with different levels of maturity that require complex integration to achieve a functional cloud infrastructure. A growing number of components and subprojects is making even more difficult their integration and coordination, and the delivery of a single coherent solution. No update path is provided if you want to install a new version, and there is no commercial support. Any organization interested in using OpenStack, and requiring commercial support and enterprise maturity, is recommended (by the vendors running the project) to deploy any of the several enterprise distributions.
From a business perspective, OpenNebula does not compete with OpenStack but with the many existing vendor “stacks” based on OpenStack, mainly with those by HP, Red Hat, and IBM. These enterprise-grade distributions incorporate different versions of the OpenStack components with extended features, custom enhancements, and integrations that may erode their compatibility and interoperability. Moreover, many of them include proprietary components and exhibit significant differences in the implementation of the critical underlying functionality.
So the organization that chooses OpenStack is actually using proprietary software based on OpenStack and is locked into that specific distribution given that the vendor only supports its own stack, not the community version. Even worse, there is no way to migrate to another vendor distribution. In other words, these distributions do not offer the main benefits of open-source: low-cost, no lock-in, flexibility and interoperability.
D. A Look To the Future
We expect OpenStack to further fragment into more vendor specific “stacks” with narrow test matrices and extended proprietary features that lock customers in and don’t interoperate well. OpenStack’s biggest success is marketing. These vendor “stacks” and cloud providers will continue marketing “OpenStack” as the primary and, in most cases only, differentiator.
However OpenStack penetration in the market is relatively small compared with the investment made by vendors and VCs. These vendor specific “stacks” are not only competing with OpenNebula, other open-source cloud management platforms like CloudStack and Eucalyptus, and proprietary incumbents, they are also competing between them and with the open source community itself. All vendors claim they are the OpenStack leader because it’s a winner-take-all game. Only one of the OpenStack distributions will gain critical mass on public and private clouds. Red Hat, now the dominant contributor to OpenStack, is in our view the only plausible winner.
Don’t get us wrong, OpenStack is an open-source project with excellent developers, and some of its components are great from a technology point of view. Because a single cloud management platform 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. OpenNebula and OpenStack will coexist and, in some cases, work together in a broad open cloud ecosystem. In the meantime, we will continue with our focus on solving real user needs in innovative ways, and getting our users involved in a fully vendor-agnostic project.
Very interesting aspects on the cloud topic. It’s refreshing to read about cloud and openstack from another perspective, outside the vendor driven mainstream bla, bla….
Thanks’s for this informative Article
Thanks for taking the time to write this down. Good article.
I’ve been following Opennebula for more than 2 years now, it’s a great product. Keep on the good job.
Awesome no hype or “marketechture”, just the facts. Just started looking into OpenNebula as a PaaS option for our cloud infrastructure and so far it looks great.
Thanks, Ignacio:
You really get to the heart of the matter with this installment!
I agree that there are too many components and too many contributors, each with their own agenda, for OpenStack NOT to collapse under the weight of its own beaurucratic governing body. i.e., I don’t think that it’s entirely unreasonable to say that OpenStack will eventually suffer Death by Committee.
Eric Pretorious
Technical Operations Manager
Rocket-Powered.com
Where can someone learn more about OpenStack/OpenNebula? Just see if one can run them on bare metal to see the differences? I just saw a keynote at LOPSA-East 2014 about OpenStack & it blew my mind being a Sysadmin at a small site.
Shawn, if you want to try it without installing you can use one of our Virtual Sandboxes [1]. They come with OpenNebula already installed and configured so you can check out if it fits your needs without having to install it in bare metal. They come in AWS, KVM, VirtualBox and VMware flavours.
Also the Quick Start Guides in the tryout page can give you an idea how easy is installing OpenNebula.
[1] https://opennebula.io/tryout/
It’s quite hard to comment this post find some constructive conclusions. To me it’s too biased and tries to show how OpenNebula is superior to OpenStack in most user/open-source aspects. Also it looks like it tries to compare OpenStack to Windows and OpenNebula to Linux in clouds world, what is not entirely true.
It’s not true OpenStack is aimed at public cloud providers only. To me it’s more flexible than OpenNebula, thanks to that huge architecture – which isn’t perfect, but it’s quite good if someone’s familiar with SOA concepts. Yea, it’s horrible to set up all micro-services by hand, so please don’t repeat my mistakes and NEVER do that, better use/learn ansible/chef/puppet. Also it’s not true that you have to use something from RedHat, HP etc. and you are bound to proprietary stuff. Right now I’m evaluating OpenStack small private cloud based on Debian7/Ubuntu, KVM and OpenStack, so nothing proprietary and it works fine. I don’t understand why author tries to demonize OpenStack in that way. Sure there are projects/modules aimed only at IaaS providers (Ceilometer for example is one of them to provide billing capabilities), but I don’t agree it locks customers. Different maturity of components? Partially true. Most of the components included in releases are quite good and stable. Some of them are also over-engineered (Neutron for example) together with OpenvSwitch is very complex itself.
I don’t want to be one-sided and I’ve written quite huge wall of text, so I can say that OpenNebula is much easier to set up, thanks to it’s monolithic architecture. Moreover it’s more hackable than OpenStack, which on the other hand has much more complex architecture – better for integration, worse for small tweaks.
One day, I’ll try to compare both deployments, but for now I would advice everyone to check out both setups (you can test general features of both solutions in 15 mins using the right scripts), rather than look at OpenNebula as better for users and OpenStack better for providers as author suggest, because to me it’s not true
Thanks for your comment!. From a product perspective I agree with you that the best way to choose is by checking which better meets your specific needs. However our experience is that companies planning to build large-scale production-ready clouds with vanilla OpenStack have many problems. They need to invest a lot of resources in building and maintaining the infrastructure. That is the sales pitch used the vendors and companies offering enterprise-grade distributions.
Excellent article Ignacio! I’m more familiar with OpenStack than OpenNebula. This article is definitely going to cause me to learn more about OpenNebula.
Thanks! You know how to reach us if you have questions. Cheers
Good article. Thank you. Hope you do not mind if I share ?