OpenNebula comes with several characteristics that makes it a unique software for the management of private clouds. This is actually not a mere coincidence, but rather a consequence of the design principles followed by the OpenNebula team at the time of creating the architecture and whenever a new feature is planned. So, without a shred of a doubt, we can claim that OpenNebula has the ability of managing Private Clouds embedded in its DNA.
Let’s see the three stronger points of OpenNebula when managing a local set of physical and virtual resources, for in-house consumption:
- Data models adjusted to the datacenters. The entities that OpenNebula work with, as abstractions of the physical and virtual resources, are a reflection of the typical resources found in traditional datacenters. In this way, the command-line interface (CLI) and the APIs offered by OpenNebula are able to expose all the functionality of the Private Cloud in all its richness, unlike Public Cloud interfaces which hide complexities and don’t allow basic Private Cloud operations. By APIs we are referring here to the low level APIs, like the XML-RPC interface, as well as the slightly higher level OpenNebula Cloud API (OCA) and its java bindings.
- Integration capabilities. If anything was clear for the architecture designers at the dawn of OpenNebula, it was this: “No two datacenters are the same“. What this sentence tries to capture is that the datacenter ecosystem is so vast and rich that it is impossible to build a closed solution that will fit in all the datacenter. Rather, OpenNebula architecture has been heavily tailored to be plug-in oriented. In practice, this translates to the OpenNebula core working with abstraction of the resources, while the operations are delegated to drivers, separated processes that know how to deal with a certain aspect and flavor of the technology (being that a particular hypervisor, certain virtual switch, a disk cabinet of a given brand, etc) gets the job done. This smooths considerably the task of integrating OpenNebula with external components (like LDAP for authentication, ganglia for monitoring, etc).
- Unique functionality. OpenNebula features several functionalities that are unique and come very handy at the time of managing datacenter resources. The ability to group the physical hosts in clusters, for instance, allows for the segmentation of servers according to their characteristics. This clusters can then register different datastores, in order to balance I/O operations, and different virtual networks, allowing for homogeneous network and storage configurations per cluster, instead of per datacenter. It is also worth noting that the characteristics of OpenNebula regarding scheduling (specially those about the simple yet powerful matchmaking algorithm) can be quite useful to balance the allocation of virtual resources in a Private Cloud, specially in conjunction with clusters. And last, but not least, OpenNebula offers mechanisms to deal with multiple instances (OpenNebula Zones) under a centralized management server (oZones), as well as means to compartimentalize the resources in your datacenter to build smaller Private Clouds that can be offered to and managed by external or internal teams, known as Virtual Data Centers (VDCs).
These three characteristics are the pilars that makes OpenNebula a good candidate for the best solution to turn your datacenter into a Private Cloud.