What is our primary use case?
We use OpenNebula to set up a virtual private cloud across several physical servers. It has an XML-RPC API that we automate via Python. You can connect it to VMware and run it over KVM. The latest version supports containers, but I haven't tried that. I mostly do KVM-based virtualization. I think the whole company is using it, so we have around 260 users.
What is most valuable?
The OpenNebula Marketplace provides you with several relatively large images. It's similar to the AWS console where you can download images from the Marketplace. You can choose an image and adapt it to your use case.
I also like the ability to build custom functions. I can define a function where I have two types of views and configure the dependencies. The virtual data centers concept allows me to define users. If a user wants to join certain kinds of machines, the host and the other user won't see them. It gives me the flexibility to define multiple views and data centers in one place.
What needs improvement?
I would like to see OpenNebula add more integration with REST API. XML-RPC API is good, but it becomes a pain to form a resting output. The pathway and prediction and all those things can be tricky.
It should have a simple REST API like most other tools. It's the industry standard format. An XML-RPC API gives you an XML document that you have to convert and then do something with that. REST API endpoint provides outputs in a JSON document. I would also like to see support for user data or heat templates, which OpenStack offers, but OpenNebula doesn't have this yet.
For how long have I used the solution?
I've been using OpenNebula for about six or seven years.
What do I think about the stability of the solution?
I find it very stable. It's quite good. We are running around more than 200 servers inside OpenNebula. They perform very good and I'm very happy with the product.
What do I think about the scalability of the solution?
OpenNebula can scale, but you must have a plan. You need to set up the front end correctly.
How are customer service and support?
OpenNebula has a large, active user community, including a formula where you can ask questions. When you post a question, you typically get a response in 10- 12 hours, depending on your time zone.
You can almost always find the answer to your question by searching the forums. It has been around for a long time, so there are very few issues that have never come up before, but if you can't find the answer, someone will respond quickly to your post.
Which solution did I use previously and why did I switch?
I have also used OpenStack, which is a much bigger beast than OpenNebula. OpenNebula gives you the ability to run simple VMs and containers, but it lacks many of the features available in OpenStack. It's great if you're only running VMs and providing developers with a way to automate them through the pipelines. In those cases, I would recommend OpenNebula because it is simple to do that.
You should go with OpenStack if your use case is complex or you want to use templates. OpenStack addresses a much wider variety of use cases, but it is complex. OpenNebula focuses on one use case, but it is simple to use.
How was the initial setup?
I rate OpenNebula 10 out of 10 for ease of setup. Setting up OpenNebula is straightforward, and the documentation is great, whereas OpenStack is more complex. Anyone following the steps in the documentation can easily do it.
There isn't much maintenance aside from routine updates. You have to upgrade certain parts of the open architecture by migrating the VMs from one host to another host and upgrading the host. You also need to keep the host security patches up to date. It isn't often—about once every six months.
What's my experience with pricing, setup cost, and licensing?
OpenNebula is open-source, but I believe they also have an enterprise version you can buy with support setting up and configuring the solution.
What other advice do I have?
I rate OpenNebula 7.5. I can't go about that because it lacks many of the features that a cloud management solution should provide. Nevertheless, it's a great product that's simple to use. I'll definitely recommend OpenNebula because it's an open-source solution that's effortless to set up, and the total cost of ownership is low. The architecture is simple. If OpenNebula covers your use case, I'll definitely recommend it to them.