OpenNebula is an open-source tool for datacenter virtualization. It helps us to build any type of cloud: private, public and hybrid for data centre management. This tool includes features for integration, management, scalability, security and accounting of data-centres. Its very efficient core is developed in C++ and possesses a highly scalable database back-end with support for MySQL and SQLite.

OpenNebula is the result of many years of research and development in efficient and scalable management of virtual machines on large scale distributed infrastructures. OpenNebula was first established as a research project in 2005 by the Distributed Systems Architecture Research Group at the Complutense University of Madrid. OpenNebula is sponsored by C12G (Numeronym for Cloud Computing) Labs. The initial release of OpenNebula was on March 2008.The initial release of OpenNebula was on March 2008. After that the stable version of OpenNebula 2.2 was released in March 2011 with the new SunStone GUI. Seven months later, in October 2011, the project released OpenNebula 3.0 which is the latest stable version. OpenNebula is developed and being nourished by The OpenNebula Community.

OpenNebula is a platform providing the ability to manage a pool of virtual resources. You can create virtual machines and configure them as you would configure a physical machine connected your network. Difference between OpenNebula and Amazon EC2 (and other public cloud providers) is that Amazon EC2 is a public service. Amazon uses an internal infrastructure management tool like OpenNebula for providing those virtual resources to people as they demand.

OpenNebula is the cloud management tool which helps to synchronize the storage, network and virtual techniques, and also helps the users to deploy and manage virtual machines on physical resources according to the allocation strategies at data centers and remote cloud resources dynamically. OpenNebula is mainly used to manage the data centre of private cloud and infrastructure of cluster, and it also support hybrid cloud to connect the local and public infrastructure. This is very useful to build high scalable cloud computing environment. OpenNebula also supports public cloud platform by providing interfaces and functions to virtual machines, storage and network management and so on.

OpenNebula cloud computing platform has many advantages. Firstly, from the view of infrastructure management, it can dynamically adjust the scale of the infrastructure of the cloud platform by increasing the number of hosts and partition clusters to meet different requirements.

We can use infrastructrue editor in web interface to create and modify the disposable infrastructure for your applications. The same editor is used to create new application and edit an existing application. The disposable infrastructure manager handles the infrastructure for each Applogic application which includes virtual appliances, catalogs etc.

Secondly, it can manage all the virtually and physically distributed infrastructures centralized and can create infrastructure with the heterogeneous resources at datacenters. This can guarantee the use of resources more efficiently and can reduce the number of the physical resources through the close integration of servers which further reduce the cost caused by space-saving, management, energy consumption, cooling and so on. From the point of infrastructure users, OpenNebula is scalable and can provide rapid response to user’s requirements. From the point of system integrators, users can deploy any kind of cloud and integrate the visual datacenters and products or services in the management tools say cloud providers, virtual machine managers, virtual image managers, service managers, management tools and so on. As OpenNebula is an open source, flexible cloud with extensible interfaces, structure and components,it makes it suit be used in any kind of data-centre.

Compared with Eucalyptus, OpenNebula has more strong support of private cloud platform and dynamic management of the scalability of virtual machines on clusters. For hybrid cloud, it provides on-demand access and elastic mechanisms as Amazon EC2 does. Other open-source solutions mainly focus on public cloud features and do not realize the full potential of virtualization in the data center to enable private cloud. And OpnNebula supports KVM, VMWare and Xen.

OpenNebula provides various interfaces which can be used to manage and interact with the physical and virtual resources. The two main interfaces are Command Line interface(CLI) and SunStone GUI. It also provides a set of commands to interact with the system from the command line interface. OpenNebula Sunstone is a Graphical User Interface intended for regular users and administrators that simplifies the typical management operations in private and hybrid cloud infrastructures. It allows us to easily manage all OpenNebula resources and perform typical operations on them. Apart from the above mentioned interfaces, there are several cloud interfaces like OCCI (Open Cloud Computing Interface) and EC2 (Elastic Compute Cloud) Query, that can be used for creating public clouds.

OpenNebula supports user accounts and groups. A user in OpenNebula is defined by a username and password. Each user has a unique ID, and belongs to a group. A group in OpenNebula makes it possible to isolate users and resources thereby preventing a user in a particular group from accessing the resources allocated for other groups. A powerful Access Control List (ACL) mechanism is used for allowing fine grain permission granting.

OpenNebula has a Network Subsystem that is easily adaptable and customizable, which makes it capable for better integration with existing datacenters. It makes use of VLANs and Open vSwitch, to restrict the network access.

The Virtualization Subsystem (virtualization manager) is the component in charge of talking with the hypervisor installed in the hosts and taking actions needed for each step in the VM lifecycle.

The Storage Subsystem can be configured to support non-shared and shared filesystems. It is flexible enough to support as many different image storage configurations as possible.

The Key features of the stable release of OpenNebula 3.0 are :-

OpenNebula offers powerful user security management,which make use of pluggable Auth Subsystem for authentication and authorization of requests. It also supports the authentication based on passwords, ssh rsa keypairs, X509 certificates or LDAP.

OpenNebula supports groups and ACLs (Access Control Lists).Groups allow administrators to isolate users and their resources from one another, while OpenNebula's implementation of ACLs allow cloud administrators to permit or deny operations for users and groups.

On-demand Provision of Virtual Data Centers(VDC) is the yet another feature which Open Nebula offers.A Virtual Data Centers (VDC) is a fully-isolated virtual infrastructure environment where a group of users, under the control of the VDC administrator, can create and manage compute, storage and networking capacity .

Advanced Control of Virtual Infrastructure by use of Image/Template repository subsystem with catalog and complete functionality for VM image/template management.OpenNebula offers full control of VM instance life-cycle and complete functionality for VM instance management

Effective monitoring of Virtual Infrastructure using configurable System Usage Statistics like OpenNebula Watch utility to visualize and report resource usage. OpenNebula allows for the automatic configuration of VMs which supports wide range of guest operating system including Microsoft Windows and Linux.

Hook Manager mechanism in OpenNebula can trigger administration scripts upon VM state change,which opens a wide area of automation for system administrators to tailor their cloud infrastructures.

OpenNebula can be configured to deploy public, private and hybrid clouds. Its powerful and extensible built-in monitoring subsystem and Host Management Subsystem helps in the advanced control and monitoring of physical infrastructure.

OpenNebula has a flexible Network Subsystem and a powerful Storage System. OpenNebula possesses a Virtualization Subsystem with broad hypervisor support(Xen KVM and Vmware),for the centralized management of environments with multiple hypervisors, and support for multiple hypervisors within the same physical box. Centralized Management of Multiple Zones is the yet another feature offered by OpenNebula.

OpenNebula offers the High Availability support.It has a persistent database backend with support for high availability configurations.

OpenNebula supports Hybrid Cloud Computing thereby managing an external public cloud just as it is another local resource. Therefore, any virtualized service can transparently use the public cloud.

Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service. Route 53 effectively connects user requests to infrastructure running in Amazon Web Services (AWS) – such as an Amazon Elastic Compute Cloud (Amazon EC2) instance, an Amazon Elastic Load Balancer, or an Amazon Simple Storage Service (Amazon S3) bucket – and can also be used to route users to infrastructure outside of AWS

OpenNebula also offers cloud interfaces to its users on Private or Hybrid cloud so that they can grant access to external parties or users to their cloud infrastructure or can sell their over capacity to someone else. It supports AWS EC2 cloud API well. Also It can support multiple cloud APIs simultaneously.

Another interesting thing is,it provides user self-service portals and easy-to-use interfaces. OpenNebula provides a Unix-like command line interface with support over a wide range of operations including VM images,VM templates,virtual networks,zones,authentication etc. For more user friendliness,it offers a Sunstone graphical interface with usage statistics and cloud-watch like functionality. This supports VNCs,multiple zone management,different views for different roles etc.

OpenNebula packages are available for almost all the linux distributions and can be easily installed. We can configure and customize the software according to our requirements using the OpenNebula source code. OpenNebula consumes only around 10Mb space on the disk when installed. The elaborated log files by OpenNebula helps in understanding the internal work-flow and quick troubleshooting.

OpenNebula packages are available for almost all the linux distributions and can be easily installed. We can configure and customize the software according to our requirements using the OpenNebula source code. OpenNebula consumes only around 10Mb space on the disk when installed. The elaborated log files by OpenNebula helps in understanding the internal work-flow and quick troubleshooting.

OpenNebula QA, a part of OpenNebula carries out automated testing and quality analysis for functionality,scalability,robustness etc. Various tests conducted by OpenNebula QA are Unit tests,System tests,System integration checks and Scalability checks. It's proven in the environments consisting of tens of thousands of cores and Vms.