As Nimbula joins OpenStack, a look at their cloud orchestration
October 18, 2012
After posting my review and impressions of CloudStack, I was contacted by Nimbula to review their cloud orchestration product, Nimbula Director. Like OpenStack and CloudStack, Nimbula Director is an alternative to Amazon Web Services and VMware solutions, since it can be used to build private and public clouds. However, Nebula Director is not open source like OpenStack and CloudStack. That said, it’s a good time to take a look, as Nimbula announced this week that they are extending their cloud portfolio to include OpenStack and joining the OpenStack community.
Unlike other reviews where I sought out the product and installed it myself, the installation portion of this review is based on an installation done at Nimbula on their equipment. The usage and features portion of the review are based on a hosted Nimbula customer evaluation demo.
The installation was done on Nimbula’s equipment on-site since installation is not recommended on VMs and it does not support an all-in-one test environment. The minimum installation requires three dedicated bare metal nodes and four for HA and I didn’t have the resources ready. Here’s the video of the demo of the installation (courtesy of Nimbula).
The installation I witnessed took only 45 minutes to complete, but that’s assuming you have the VLAN and nodes ready to go. For example, the bare metal nodes had remote power on/off, site.conf was already configured, VLAN was already set up, and the seed node was already prepared. I would imagine the process takes longer for someone doing it the first time without the prep work in place.
Comparison note: The installation is well-designed and easy to complete after setting up the right environment and site.conf file. For a POC, the site.conf defaults can be used, since Nimbula Director requires a completely isolated VLAN. I would say it has one of easier processes for multinode deployments. My complaints with the installation are that the software requires its own isolated VLAN and the nodes need to be booted in particular synchronous order to achieve desired results. These are not deal breakers, but they still feel somewhat rigid.
High availability (production ready)
HA and fault tolerance has been one of the main features missing from easy-to-deploy software. Nimbula sets out to change this with their installation process. Here’s how it works: the minimum recommended for a basic install for Nimbula is four nodes. In this cluster, three nodes will have some resources reserved to run control plane services—these are the core services that facilitate the functionality of their cloud, including ZooKeeper, MongoDB, and component services.
In small deployments, these three nodes will also run VMs. The fourth node will run only VMs and not the services; however, in the event that one of the three control service nodes fail, the services will start up on this fourth node. Since the fourth node is already prepared to take over any of the control plane services, the failover time is just a matter of seconds. Additionally, in larger scale deployments, Nimbula recommends not running VMs and dedicating three nodes to control plane services to improve their availability.
Since these three nodes run unique services, only one can fail at a given time. To solve this scenario, Nimbula has provided the architecture below. Nimbula recommends distributing the nodes that run control plane service among different clusters (Figure 2.1). Since the nodes running control plane services are on different clusters, they won’t share the same power, switch, etc., and can sustain the failure of two nodes running control plane services.
Comparison note: As I mentioned in my other posts about various easy deployment tools for OpenStack, like DevStack, Rackspace Alamo, and StackOps (community edition), “easy-to-deploy HA” has been an oxymoron. The only way to build HA clouds has been to install OpenStack manually and set up HA for a platform service like a database and message queue. Nimbula has been able to make HA easy from both the deployment and design perspectives.
Given that Nimbula Director is proprietary software and the user interface is the first impression for customers and decision makers, I was expecting a sexy dashboard. Within five minutes of clicking around the interface, I was disappointed. The user interface for Nimbula Director is not polished and has numerous issues I’ve outlined below. I typically don’t judge harshly on looks but this user interface would make someone like Steve Jobs want to throw up. This is by far the weakest part of Nimbula Director. My contact at Nimbula did mention they are working on a new interface, and that this one is meant for administrator/developer use.
Comparison note: While the OpenStack dashboard is more limited in features, I feel it’s much more polished than Nimbula Director. The color theme and logical grouping of common functions makes OpenStack a lot easier to use. I was able to navigate and learn the ins and outs without the need for a manual. Functionally, the dashboard in Nimbula has more options, but a lot of the time you don’t know what they are for. There is no mouseover or description for the options, so they become more of a concern than an advantage.
Images types and hypervisors
Nimbula allows direct upload of images from the user’s computer. This is a feature missing in both CloudStack and OpenStack. I appreciated this feature as I feel it’s preferable to load images locally without Internet access. The downside is that there are no options to pull images directly from the web. However, from a flexibility point of view, you can always download the image and upload it from the computer to Nimbula Director. The limitations here are that only RAW, ISO, and VMDK images are supported. Amazon EC2 images—a very popular format—must be converted before use with Nimbula.
In addition to limited image type support, hypervisor support has been limited to KVM and ESXi.
Nimbula has some really nice advantages, especially the impressive HA and self healing. No longer needing to plan and design those is a huge advantage. There are also areas of Nimbula Director that need work: the UI is primitive and support for hypervisors and VM image types is quite limited.
While Nimbula is proprietary software, they just announced that they are planning to join the OpenStack Foundation, add OpenStack compatibility within their product, and commit features to the OpenStack project. I am looking forward to seeing what changes they roll out as part of this plan.
Finally, I’d like to thank the folks at Nimbula for hosting the product and inviting me to their office to get hands-on experience with the installation and deployment. They were very knowledgeable and answered all my questions.2 comments
Continuing the Discussion