OpenNebula TechDay Ede – Agenda and Speaker Line-up

The OpenNebula Project is proud to announce the final agenda and line-up of speakers for our first OpenNebula TechDay. The TechDay will be hosted by BIT.nl, internet service provider and datacenter in The Netherlands, on the 26th of March. The agenda includes a hands-on cloud installation and operation workshop, presentations from OpenNebula community members and users, and an open space to discuss passionate questions, burning ideas, features, integrations…

9:00-13:00: Hands-on Workshop
Jaime Melis, Engineer at OpenNebula and C12G Labs

13:00-14:00: Lunch

14:00 – 14:30: Introduction to the TechDays
Rubén S. Montero, Chief Architect at OpenNebula and C12G Labs

14:30 – 15:00: New Features in OpenNebula
Jaime Melis, Engineer at OpenNebula and C12G Labs

15:00 – 15:30: OpenNebula Experiences @ BIT.nl
Stefan Kooman, BIT.nl

15:30 – 15:45: Coffee Break

15:45 – 16:15: OpenNebula Experiences @ SURFsara
Ander Astudillo, Consultant / Scientific developer at SURFsara

16:15 – 16:45: OpenNebula from the SysAdmin Perspective
Toshaan Barvhani, VanTosh

16:45 – 17:30: Open Space

There are still some seats available, register now! Looking forward to meeting you in Ede.

Why We Use OpenNebula at BIT

bit_heerma_brug_small

 

BIT is a business to business internet service provider in the Netherlands specialized in colocation and managed hosting. BIT delivers to quality aware customers the backbone of their IT and internet infrastructure. Reliability is the focus of BIT’s services. BIT differentiates through its knowledge, years of experience and pragmatic solutions. It helps that all people of BIT share a passion for technology.

We wanted to have a Cloud Management Platform (CMP) that would be easy to manage and would not cost too much of our resources to keep up-to-date. It should also be easy to in-corporate in our infrastructure, be flexible and easy to adjust to our needs. As we’re an ISP operating our own infrastructure we were looking for software that was able to build a “virtual DataCenter”, more functionality then “just” be able to provision a bunch of resources. We have done internet research on some main CMP’s: OpenStack, Eucalyptus, oVirt, OpenNebula. Two of them were tested in a lab environment: OpenStack and OpenNebula. We had lots of trouble getting OpenStack working, hit some bugs, etc. In the end we could never get it to do what we wanted. It became clear the project is moving fast, at least code was flying around, subprojects became different entities of themselves, etc. We were worried it would take a lot of time to get it all running, let alone upgrade to newer versions.

OpenNebula worked pretty much out of the box, besides a bug with OpenvSwitch that stood in the way at first. We wanted to have a platform that would be able to work with different hypervisors. We’re using KVM now, but for one reason or the other VMware, XEN, or Hyper-V should be possible. We didn’t want to restrict ourselves to only one (that’s why oVirt didn’t make it). Besides that it should be easy to understand how things are tied together, basically KISS. If systems get overly complex sooner or later you get bitten by them. You don’t have complete oversight of every little component and when the shit hits the fan you don’t know were to start cleaning …

OpenNebula core itself might be pretty complex but most of the work is being done by drivers. Drivers that are most of the time easy to understand shell script doing stuff. Using commands that sysadmins are already familiar with, and therefore aren’t scary, and easy to debug. OpenNebula has quite a bit of interfaces. A nice WebGUI always helps to get familiar with a project. If you can just “click” something together that actually works it’s pretty impressive. But the OCCI interface and XML-API are really useful to enable integration with our workflow and administrative systems, especially with the nifty “hooks” feature.

DSC_3649 copy


OSS to us is more that just “free to use” software, although the liberal license makes it easy to just “start using” without the need to worry about all kind of licensing issues. It gives you the possibility to, if needed, make your own adjustments and fit your use case. OpenNebula is flexible enough to extend without the need for “hacking the source”. Although it’s possible it’s (most of the time) not needed, which is a big plus because it makes following “upstream” easy. But OSS by itself is not enough for a project to be successful and succeed. It’s about the way the software is developed that is of vital importance.  The OpenNebula way of developing software is open, and user focused, The “voice” of the community really matters.  The cliche “software made with and for the community” really applies here. If users get (positive) feedback about their input they feel appreciated and be more “connected” to the project. The “atmosphere” on the mailing list is friendly and open. No flame wars, or negativism here, so it keeps users “in” instead of pushing them away.

DSC_7056

 

In a nutshell, the benefits of using OpenNebula are:

  • Simple but powerful / flexible
  • Works out of the box
  • Easy to maintain / upgrade
  • (API) Interface(s)
  • OSS
  • Great community / development organization (that became obvious as soon as we joined the mailing list)

And the benefits of using OSS:

  • Source available (i.e. able to audit code, adjust code, etc)
  • Be able to influence the (feature) roadmap by joining the community
  • Quicker development (more potential developers)
  • OSS models most of the time have an easy way to communicate with developers. With (big) commercial organizations this is often not possible or very difficult. It’s all about technical excellence, not about profit.

OpenNebula at Cloud Expo Europe 2014

A few days ago we were at the Cloud Expo Europe 2014 event in London. As part of the Open Cloud Forum sessions about open source cloud solutions, there was an OpenNebula tutorial.

Now, this is a hands-on tutorial where attendees are supposed to follow the slides and build their own small OpenNebula installation in a virtual environment, and the people that showed up were not really interested in replicating the tutorial in their laptops… But after the initial let-down, it turns out this was a very engaged audience that showed a great interest! Because the introduction and basic configuration tutorial was done fairly quickly, we had time to continue with a question & answer session that lasted more than the tutorial itself.

Bhe1npzIIAElCkQ

There were some common questions we get from time to time:

“It looks far better that I expected for what I thought was a research-only project”. Well, OpenNebula is a solid product, and it has been ready to be used in production for quite some time. Take a look at the featured users page.

“But what if I need a level of support that an open source community cannot guarantee?” Good news! C12G Labs, the company behind OpenNebula, has you covered. The best thing is that the commercial support is offered for the same open source packages available to anyone.

“Is the VMware support on par with the other hypervisors?” Absolutely! All the features are supported. You can even use a heterogeneous environment with the VMware hosts grouped into a cluster, working alongside a KVM or Xen cluster.

We also had time to talk about advanced OpenNebula features. Our documentation is quite big and reading all of it is definitely not appealing, but if you are starting with OpenNebula I recommend you to at least skim through all the sections. You may find out that you have several storage options, that OpenNebula can manage groups of VMs and has auto scaling features, or that VM guests can report back to ONE.

People were also very interested in the customization capabilities of OpenNebula. Besides the powerful driver mechanism that allows administrators to tailor the exact behaviour of OpenNebula, you can also customize the way it looks. The CLI output can be tweaked in the etc configuration files, and Sunstone can adjusted down to which buttons are shown with the Sunstone Views.

Thanks to the engaged audience for their great interest and their feedback. See you next year!

Native GlusterFS Image Access for KVM Drivers

GlusterFS is a distributed filesystem with replica and storage distribution features that come really handy for virtualization. This storage can be mounted as a filesystem using NFS or FUSE adapter for GlusterFS and is used as any other shared filesystem. This way of using it is very convenient as it works the same way as other filesystems, still it has the overhead of NFS or FUSE.

The good news is that for some time now qemu and libvirt have native support for GlusterFS. This makes possible for VMs running from images stored in Gluster to talk directly with its servers making the IO much faster.

The integration was made to be as similar as possible to the shared drivers (in fact uses shared tm and fs datastore drivers). Datastore management like image registration or cloning still use FUSE mounted filesystem so OpenNebula administrators will feel at home with it.

GlusterFS Arch

This feature is headed for 4.6 and is already in the git repository and the documentation. Basically the configuration to use this integration is as follows.

  • Configure the server to allow non root user access to Gluster. Add this line to ‘/etc/glusterfs/glusterd.vol’:

    option rpc-auth-allow-insecure on

    And execute this command:

    # gluster volume set <volume> server.allow-insecure on

  • Set the ownership of the files to ‘oneadmin’:

    # gluster volume set <volume> storage.owner-uid=<oneadmin uid>
    # gluster volume set <volume> storage.owner-gid=<oneadmin gid>

  • Mount GlusterFS using FUSE at some point in your frontend:

    # mkdir -p /gluster
    # chown oneadmin:oneadmin /gluster
    # mount -t gluster <server>:/<volume> /gluster

  • Create shared datastores for images and system and add these extra parameters to the images datastore:

    DISK_TYPE = GLUSTER
    GLUSTER_HOST = <gluster_server>:24007
    GLUSTER_VOLUME = <volume>
    CLONE_TARGET="SYSTEM"
    LN_TARGET="NONE"

  • Link the system and images datastore directories to the GlusterFS mount point:

    $ ln -s /gluster /var/lib/one/datastores/100
    $ ln -s /gluster /var/lib/one/datastores/101

Now when you start a new VM you can check that in the deployment file it points to the server configured in the datastore. Another nice feature is that storage will fall back to a secondary server in case one of them crashes. The information about replicas is automatically gathered, there is no need to add more than one host (and is currently not supported in libvirt).

If you are interested in this feature it’s a good time to download and compile master branch to test this feature. There is still some time until a release candidate of 4.6 comes out but we’d love to have some feedback as soon as possible to fix any problems that it may have.

We want to thank Netways people for helping us with this integration and testing of the qemu/gluster interface, and to John Mark from the Gluster team for his technical assistance.

Balance between User Base and Community in OpenStack and OpenNebula

In our last post “OpenNebula vs. OpenStack: User Needs vs. Vendor Driven” we stated that “OpenStack penetration in the market is relatively small compared with the investment made by vendors and VCs”. We have received several emails from people asking for the numbers that support this statement. This conclusion arises from the comparison between OpenNebula and OpenStack user base, a well as between the resources invested in development and marketing by each of them.

User Base

OpenStack is experiencing explosive growth in the number of developers, with more than 200 companies contributing code, 15,000 people and 850 companies involved according to its web site, and almost 1,000 developers involved in its latest release. However, the number of users and the size of the deployments are not that impressive, at least compared with this software development force.

Let us compare the user base of OpenNebula and OpenStack by using their latest surveys:

  • According to the most recent OpenStack user survey (November 2013), they received 827 responses, and 387 were deployments. In the 80% of these deployments the number of nodes was below 100, and only 11 deployments with more than 1,000 nodes (hypervisors).
  • On the other hand, in the latest OpenNebula survey (November 2012), OpenNebula received 2,500 responses, 820 of these were deployments. In the 70% of these deployments the number of nodes was below 100 nodes, and 99 deployments have more than 500 nodes (hypervisors).

nodes

We avoid giving references to featured users, both projects could put on the table good references of large-scale cloud deployments. The surveys show that OpenNebula and OpenStack are achieving a similar level of deployment. However, OpenStack presents a ratio 1/40 between deployments in the survey and number of people involved, a ratio 1/3 between deployments and developers, and a ratio 1/2 between deployments and companies involved. Not every company contributed to the survey?.

We could also use the volume of web searches according to Google Trends to compare the impact of both projects. The ratio in the number of searchers between OpenNebula and OpenStack during the last 12 years is 1/20. This mainly reflects the successful marketing of OpenStack. OpenNebula mainly invests its resources in developing technology and serving its users, being really vendor agnostic and free of marketing.

There is also a quarterly comparative analysis of the community activity (mailing lists traffic mostly) of the four main open-source cloud management platforms: OpenStack, OpenNebula, Eucalyptus and CloudStack. The number of threads and participants in OpenStack is one order of magnitude higher than in OpenNebula. This mostly reflects a higher number of developers. Moreover, it is also worth noting that development coordination in OpenNebula is done through a redmine portal and not through a mailing list.

Resources Invested

We conservatively estimate the investment in OpenStack is approximately $300 million per year:

  • OpenStack Havana involved 950 developers almost completely hired by vendors. This is approximately $150 Million per year
  • OpenStack Foundation budget is approximately $10 Million per year
  • Marketing costs, i.e. marketing staff and external marketing programs, can be estimated in tens of millions per year
  • Just seven of the many start-ups involved in OpenStack have raised $120 million from VC. Assuming this is for 3 years. This is approximately $40 million per year
  • There are other direct costs from other many companies, there are almost 1,000 companies involved, that are also allocating resources to development, training, documentation,…, a big overhead in indirect costs, and of course opportunity costs

So $300 million per year is a good conservative estimate. We have seen other estimations above $0.5 billion per year, some reaching to $1 billion per year. In any case, over a few years, it’s billions. Will these companies ever get their money back?. I see VC’s starting to ask “Where’s our future money?”. Summarizing, a relatively small user base, and so penetration in the market, compared with the investment made by vendors and VCs. OpenNebula, with a budget at least two orders of magnitude lower, is achieving a similar user base. You can draw your own conclusions.

OpenNebula at CeBIT 2014

.

NETWAYS will be holding a booth at the world´s leading high- tech exhibition, from March 10th – 14th at CeBIT 2014, Hanover, Germany. NETWAYS is a premium partner of C12G Labs and a contributor of the OpenNebula project. Due to our broad experience in OpenNebula, interested parties are invited to visit our booth in order to find out more about the latest innovations and news, as well as demonstrations of the latest OpenNebula functionality. For those who already know they want to meet us, we highly recommend making an appointment but of course you can also just drop by at hall 6 (booth E16 319).

Moreover, all through Thursday 13th and the morning of Friday 14th, members of the OpenNebula team will be hanging around the NETWAYS booth, so please feel free to come by for more information on the project, as well as fresh news on the planned future of OpenNebula.

Aside from that, all OpenNebula fans should definitely not miss the presentation “OpenNebula: Open-Source Enterprise Cloud Simplified” held by Tino at the Open Source Forum (hall6) on Friday, March 14th.

We´ll see you in Hanover!

OpenNebula Newsletter – February 2014

We want to let you know about what we are up to with the main news from the last month regarding the OpenNebula project, including what you can expect in the following months.

Technology

As part of our commitment to solve bugs reported by the OpenNebula community, a new maintenance release for 4.4 Retina, 4.4.1  was released. This release only includes bug fixes and is a recommended update for everyone running any 3.x or 4.x version of OpenNebula, whom for any particular reason do not want to upgrade their cloud manager to the latest available OpenNebula version.

OpenNebula 4.6 is just around the corner, with the beta release just days away. The team is now deep into the testing and certification process, and finishing some wrinkles in the new features.

The Sunstone interface is getting a facelift, with various JS & CSS components being updated. Hard work, but it pays off with a modern and cleaner interface. Check out the pic!

 

The other significant features that will be present in OpenNebula 4.6 includes the ability to achieve a federation using OpenNebulas (yes, plural is coming!) at different datacenters. The replication would be performed at the DB level, sharing the users, groups, ACLs and zone pools, while the other information would be kept locally and represent local resources. Groups would be able to have Resource Providers (basically, clusters in one local or remote zone) to conform Virtual Datacenters, thus allowing a cloud partition to enable real and isolated multi-tenancy. Check out the screencast on partitioning clouds with vDCs to get a feel on this new functionality.

Another cool feature that will be present in 4.6 is the ability to import OVAs into OpenNebula. The functionality is being implemented in AppMarket, and will be a complete translation and import of all the resources defined in the OVA: disks, capacity, network… even with the ability to change the disks format.

The AppMarket component has been updated to extend its functionality to enable the management and processing of OVA files. A new component AppMarket Worker is introduced, which handles the OVA package treatment (download, unpack, OVF parsing) and image format conversion. The release also features a new API and a new AppMarket interface via Sunstone.
Other aspects that are being revisited are storage backends, virtual networking, datastore, image and VM management and Sunstone. You can find a comprehensive list here.

Some of the above features have been sponsored by Produban  in the context of the Fund a Feature program.

Community

The OpenNebula community is as vibrant and active as ever. We want to highlight the great user story told by the people behind runtastic, the popular fitness app. The story is about the migration from a huge german webhoster to private cloud run by them, with the ability to burst their peaks into a public cloud like Amazon EC2. It makes an interesting read.

There has been a lot of feedback on the development portal, suggesting new features and reporting bugs. We want to thank you all for this, we really appreciate it. This is what makes OpenNebula a great software, it won’t be the same without you!

Outreach

First things first, this year’s OpenNebula Conference will be held in Berlin as well, 2-4 of December, 2014. If you want to repeat or find out how it is for yourself, save the date!

There are two articles posted this month comparing OpenNebula with other similar projects which we think are worth reading. First one compares OpenNebula vs OpenStack, while the second extends the comparison with VMware and Ganeti.

We are setting up a number of OpenNebula TechDays around the world. These events are designed to learn about OpenNebula with a hands-on cloud installation and operation workshop, and presentations from community members and users. If you are interested in hosting or sponsoring one, let us know!.

The first TechDay is happening in Ede, Netherlands, and it is hosted by BIT, a dutch internet service provider. The call for sponsors and for speakers is not closed yet so if you are interested drop us a line. Upcoming TechDays will be held in Boca Raton, Chicago, Palo Alto (USA), Aveiro (Portugal), Barcelona (Spain), Munich (Germany), Lyon (France) and Timisoara (Romania).

Throughout february the OpenNebula team was present at the CentOS Dojo and Fosdem, with great feedback and exciting comments including a productive talk with folks from the GlusterFS project. It was present also at CloudScape VI in Brussels and the Cloud Expo Europe in London, with a thoroughly engaged audience in the configuration tutorial, showing great interest and giving excepcional feedback.

The following events are happening this month, with the participation of an OpenNebula team member:

During the following months, members of the OpenNebula team will be speaking in the following events:

Remember that you can see slides and resources from past events in our Events page. We have also created a Slideshare account where you can see the slides from some of our recent presentations.

A New Cloud Provisioning Model: vDCs as a Service

Three years ago, driven by the needs of some of our larger users, we incorporated support for Virtual Data Centers (vDCs) and multiple Zones into OpenNebula 3.0. Since that time, this innovative vDC functionality has helped many IT organizations to make the transition towards the next generation of cloud infrastructures supporting on-demand provisioning of multiple fully-isolated vDCs. Thanks to the feedback received by many of these organizations during the last years, we have improved this functionality and its integration with the rest of subsystems. This post describes the new cloud provisioning model based on vDCs that is brought by OpenNebula 4.6. The new model offers an integrated and comprehensive framework for resource allocation and isolation in federated data centers and hybrid cloud deployments.

The Infrastructure Perspective

Common large IT shops have multiple Data Centers (DCs), each one of them consisting of several physical Clusters of infrastructure resources (hosts, networks and storage). These Clusters could present different architectures and software/hardware execution environments to fulfill the needs of different workload profiles. Moreover, many organizations have access to external public clouds to build hybrid cloud scenarios where the private capacity of the Data Centers is supplemented with resources from external clouds to address peaks of demand. Sysadmins need a single comprehensive framework to dynamically allocate all these available resources to the multiple groups of users.

For example, you could have two Data Centers in different geographic locations, Europe and USA West Coast, and an agreement for cloudbursting with two cloud providers, Amazon and SoftLayer. Each Data Center runs its own full OpenNebula deployment.

Resources
The Organizational Perspective

Users are organized in Groups (also called Projects, Domains, Tenants…). A Group is an authorization boundary that can be seen as a business unit if you are considering it as private cloud or as a complete new company if it is public cloud. A powerful, configurable ACL system is needed to enable different authorization scenarios, from the definition of group Admins to the privileges of the users that can deploy virtual machines. Each Group can execute different types of workload profiles with different performance and security requirements.

For example, you can think Web Development, Human Resources, and Big Data Analysis as business units represented by Groups in OpenNebula.

Groups

The following are common enterprise use cases in large cloud computing deployments:

  • On-premise Private Clouds Serving Multiple Projects, Departments, Units or Organizations. On-premise private clouds in large organizations require powerful and flexible mechanisms to manage the access privileges to the virtual and physical infrastructure and to dynamically allocate the available resources. In these scenarios, the Cloud Administrator would define a Group for each Department, dynamically allocating resources according to their needs, and delegating the internal administration of the Group to the Department IT Administrator.
  • Cloud Providers Offering Virtual Private Cloud Computing. Cloud providers providing customers with a fully-configurable and isolated environment where they have full control and capacity to administer its users and resources. This combines a public cloud with the control usually seen in a personal private cloud system.

A New Cloud Provisioning Model Based on vDCs

A Group is simply a boundary, you need to populate resources into the Group which can be consumed by the users of the Group. These resources are obtained from Resource Providers that can be located in different Data Centers, ending up with the creation of a vDC. A Resource Provider is a Cluster of infrastructure resources (physical hosts, networks, datastores and external clouds).

For example, you could create three different vDCs:

  • BLUE: Allocation of (ClusterA@DC_West_Coast + Cloudbursting) to Web Development
  • RED: Allocation of (ClusterB@DC_West_Coast + ClusterA@DC_Europe + Cloudbursting) to Human Resources
  • GREEN: Allocation of (ClusterC@DC_West_Coast + ClusterB@DC_Europe) to Big Data Analysis

vdcs
A vDC is a fully-isolated virtual infrastructure environment where a Group of users, under the control of the vDC admin, can create and manage compute, storage and networking capacity. The users in the vDC, including the vDC administrator, would only see the virtual resources and not the underlying physical infrastructure. The physical resources allocated by the cloud administrator to the vDC can be completely dedicated to the vDC, providing isolation at the physical level too.

The privileges of the vDC users and the administrator regarding the operations over the virtual resources created by other users can be configured. In a typical scenario the vDC administrator can create virtual networks, upload and create images and templates, and monitor other users virtual resources, while the users can only instantiate virtual machines and virtual networks to create their services. The administrators of the vDC have full control over resources and can also create new users in the vDC.

UsersVDCs
Users can then access their vDC through any of the existing OpenNebula interfaces, such as the CLI, Sunstone, OCA, or the OCCI and AWS APIs. vDC administrators can manage their vDCs through the CLI or the vDC admin view in Sunstone. Cloud Administrators can manage the vDCs through the CLI or Sunstone.

The Cloud provisioning model based on vDCs enables an integrated, comprehensive framework to dynamically provision the infrastructure resources in large multi-datacenter environments to different customers, business units or groups. This brings several benefits:

  • Partitioning of cloud physical resources between Groups of users
  • Complete isolation of users, organizations or workloads
  • Allocation of Clusters with different levels of security, performance or high availability
  • Containers for the execution of software-defined data centers
  • Way of hiding physical resources from Group members
  • Simple federation, scalability and cloudbursting of private cloud infrastructures beyond a single cloud instance and data center

Want to Try?

The Beta release of OpenNebula 4.6 will be available in few days. In the meantime you can enjoy this screencast about partitioning clouds with vDCs.

We are looking forward to your feedback!.

Partitioning Clouds with Virtual Data Centers (vDCs)

OpenNebula 4.6 is slowly cooking, getting ready to get out of the oven and being spun around the certification carrousel. We’ve created a screencast to show on of the most interesting features that will be available in the next, shiny new release: the ability to manage Virtual Data Centers natively in OpenNebula, via Sunstone or the CLI.

First, let’s define some concepts. In OpenNebula, a Group (of users) is the authorization boundary. Authorization comes using ACLs  built in OpenNebula. ACLs model can be used to control who can manage the Group (that is, the Group admin) and who can deploy virtual machines. A Group can be seen as business unit if you are considering it as private cloud and complete new company if it is public cloud. You can think Human Resources, Marketing and Sales as business units represented by Groups in OpenNebula. Moreover, a Resource Provider is a OpenNebula Cluster of infrastructure resources (aggregation of physical hosts, virtual networks and datastores).

Combining the two above, OpenNebula can handle Virtual Data Centers (vDCs). vDCs are containers for the execution of virtual machines and a way of hiding physical resources from Group members. A Group is simply a boundary, you need to populate resources within the Group which can be consumed by the users of the Group. These resources are obtained from Resource Providers, ending up with the creation of a vDC by combining a Group and one or more Resource Providers. These Resource Providers can reside in other other datacenters, thus achieving a DC federation. But this a story for another screencast ;)

For other interesting screencasts, please take a look to the screencasts page.

This new feature is funded by Produban in the context of the Fund a Feature Program.

OpenNebula vs. OpenStack: User Needs vs. Vendor Driven

We’ve crafted this post to answer a recurring question we’ve been hearing lately, specially 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, specially in:

  • Internal Organization. While OpenStack comprises many different subprojects (14 at the time of writing this post) aimed at building the different subsystems in a 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 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 commoditize 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 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 a 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, 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 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 cloud as an AWS-like cloud on-premise; hence looking for a provisioning tool to supply virtualized resources on-demand.

CloudModels

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 a 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.

Architectures

On the other hand, OpenStack comprises many subprojects with different levels 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 not 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.

ValueChain

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 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 itselfAll 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.