An Overview of OpenNebula 4.0

OpenNebula is the open-source industry standard for data center virtualization, offering the most feature-rich, flexible solution for the comprehensive management of virtualized data centers to enable on-premise Infrastructure as a Service Clouds. This guide gives an overview of OpenNebula and summarizes its main benefits for the different stakeholders involved in a cloud computing infrastructure.

inlinetoc

What Are the Key Features Provided by OpenNebula?

You can refer to our a summarized table of Key Features or to the Detailed Features and Functionality Guide included in the documentation of each version.

What Are the Interfaces Provided by OpenNebula?

OpenNebula provides many different interfaces that can be used to interact with the functionality offered to manage physical and virtual resources. There are four main different perspectives to interact with OpenNebula:

 OpenNebula Cloud Interfaces

What Does OpenNebula Offer to Cloud Consumers?

OpenNebula provides a powerful, scalable and secure multi-tenant cloud platform for fast delivery and elasticity of virtual resources. Multi-tier applications can be deployed and consumed as pre-configured virtual appliances from catalogs.

  • Image Catalogs: OpenNebula allows to store disk images in catalogs (termed datastores), that can be then used to define VMs or shared with other users. The images can be OS installations, persistent data sets or empty data blocks that are created within the datastore.
  • Network Catalogs: Virtual networks can be also be organised in network catalogs, and provide means to interconnect virtual machines. This kind of resources can be defined as fixed or ranged networks, and can be used to achieve full isolation between virtual networks.
  • Template Catalog: The template catalog system allows to register virtual machine definitions in the system, to be instantiated later as virtual machine instances.
  • Virtual Resource Control and Monitoring: Once a template is instantiated to a virtual machine, there are a number of operations that can be performed to control lifecycle of the virtual machine instances, such as migration (live and cold), stop, resume, cancel, poweroff, etc.

Several third-party tools are available for automatic configuration of the software stack, management of multi-tiered applications, and creation of a service catalog or a private marketplace, like RIM's Carina or C12G's OpenNebulaApps

 OpenNebula Cloud Support for Virtual Infrastructures

What Does OpenNebula Offer to Cloud Operators?

OpenNebula is composed of the following subsystems:

  • Virtualization: Various hypervisors are supported in the virtualization manager, with the ability to control the complete lifecycle of Virtual Machines and multiple hypervisors in the same cloud infrastructure.
  • Hosts: The host manager provides complete functionality for the management of the physical hosts in the cloud.
  • Monitoring: Virtual resources as well as hosts are periodically monitored for key performance indicators. The information can then used by a powerful and flexible scheduler for the definition of workload and resource-aware allocation policies.
  • Accounting: A Configurable accounting system to visualize and report resource usage data, to allow their integration with chargeback and billing platforms, or to guarantee fair share of resources among users.
  • Networking: An easily adaptable and customizable network subsystem is present in OpenNebula in order to better integrate with the specific network requirements of existing data centers and to allow full isolation between virtual machines that composes a virtualised service.
  • Storage: The support for multiple datastores in the storage subsystem provides extreme flexibility in planning the storage backend and important performance benefits.
  • Security: This feature is spread across several subsystems: authentication and authorization mechanisms allowing for various possible mechanisms to identify a authorize users, a powerful Access Control List mechanism allowing different role management with fine grain permission granting over any resource managed by OpenNebula, support for isolation at different levels…
  • High Availability: Support for HA architectures and configurable behavior in the event of host or VM failure to provide easy to use and cost-effective failover solutions.
  • Clusters: Clusters are pools of hosts that share datastores and virtual networks. Clusters are used for load balancing, high availability, and high performance computing.
  • Multiple Zones: The OpenNebula Zones component (oZones) allows for the centralized management of multiple instances of OpenNebula, called Zones, for scalability, isolation and multiple-site support.
  • VDCs. An OpenNebula instance (or Zone) can be further compartmentalized in Virtual Data Centers (VDCs), which offer a fully-isolated virtual infrastructure environments where a group of users, under the control of the VDC administrator, can create and manage compute, storage and networking capacity.
  • Hybrid: OpenNebula gives support to build a hybrid cloud, an extension of a private cloud to combine local resources with resources from remote cloud providers. A whole public cloud provider can be encapsulated as a local resource to be able to use extra computational capacity to satisfy peak demands.

 OpenNebula Cloud Internals

What Does OpenNebula Offer to Cloud Builders?

OpenNebula offers broad support for commodity and enterprise-grade hypervisor, monitoring, storage, networking and user management services:

  • Virtualization: Several hypervisor technologies are fully supported, like Xen, KVM and VMware.
  • Monitoring: OpenNebula provides its own customized monitoring system and also integrates with data center monitoring tools like Ganglia.
  • Storage: Multiple backends are supported like the regular (shared or not) filesystem datastore supporting popular distributed file systems like NFS, Lustre, GlusterFS, ZFS, GPFS, MooseFS…; the iSCSI datastore, the VMware datastore (both regular filesystem or VMFS based) specialized for the VMware hypervisor that handle the vmdk format; the iSCSI/LVM datastore to store disk images in a block device form; and Ceph for distributed block device.
  • Databases: Aside from the original sqlite backend, mysql is also supported.
  • Hybrid: Out of the box connectors are shipped to support Amazon EC2 cloudbursting.

 OpenNebula Cloud Platform Support

What Does OpenNebula Offer to Cloud Integrators?

OpenNebula is fully platform independent and offers many tools for cloud integrators:

  • Modular and extensible architecture with customizable plug-ins for integration with any third-party data center service
  • API for integration with higher level tools such as billing, self-service portals… that offers all the rich functionality of the OpenNebula core, with bindings for ruby and java.
  • oZones API used to programatically manage OpenNebula Zones and Virtual Data Centers.
  • Hook Manager to trigger administration scripts upon VM state change

 OpenNebula Cloud Architecture