Virtualization has opened up avenues for new resource management techniques within the data center. Probably, the most important characteristic is its ability to dynamically shape a given hardware infrastructure to support different services with varying workloads. Therefore, effectively decoupling the management of the service (for example a web server or a computing cluster) from the management of the infrastructure (e.g. the resources allocated to each service or the interconnection network).
A key component in this scenario is the virtual machine manager. A VM manager is responsible for the efficient management of the virtual infrastructure as a whole, by providing basic functionality for the deployment, control and monitoring of VMs on a distributed pool of resources. Usually, these VM managers also offer high availability capabilities and scheduling policies for VM placement and physical resource selection. Taking advantage of the underlying virtualization technologies and according to a set of predefined policies, the VM manager is able to adapt the physical infrastructure to the services it supports and their current load. This adaptation usually involves the deployment of new VMs or the migration of running VMs to optimize their placement.
The dsa-research group at the Universidad Complutense de Madrid has released under the terms of the Apache License, Version 2.0, the first stable version of the OpenNebula Virtual Infrastructure Engine. OpenNebula enables the dynamic allocation of virtual machines on a pool of physical resources, so extending the benefits of existing virtualization platforms from a single physical resource to a pool of resources, decoupling the server not only from the physical infrastructure but also from the physical location. OpenNebula is a component being enhanced within the context of the RESERVOIR European Project.
The new VM manger differentiates from existing VM managers in its highly modular and open architecture designed to meet the requirements of cluster administrators. OpenNebula 1.0 supports Xen and KVM virtualization platforms to provide several features and capabilities for VM dynamic management, such as centralized management, efficient resource management, powerful API and CLI interfaces for monitoring and controlling VMs and physical resources, fault tolerant design… Two of the outstanding new features are its support for advance reservation leases and on-demand access to remote cloud provider
Support for Advance Reservation Leases
Haizea is an open source lease management architecture that OpenNebula can use as a scheduling backend. Haizea uses leases as a fundamental resource provisioning abstraction, and implements those leases as virtual machines, taking into account the overhead of using virtual machines (e.g., deploying a disk image for a VM) when scheduling leases. Using OpenNebula with Haizea allows resource providers to lease their resources, using potentially complex lease terms, instead of only allowing users to request VMs that must start immediately.
Support to Access on-Demand to Amazon EC2 resources
Recently, virtualization has also brought about a new utility computing model, called cloud computing, for the on-demand provision of virtualized resources as a service. The Amazon Elastic Compute Cloudi s probably the best example of this new paradigm for the elastic capacity providing. Thanks to virtualization, the clouds can be used efficiently to supplement local capacity with outsourced resources. The joint use of these two technologies, VM managers and clouds, will change arguably the structure and economics of current data centers. OpenNebula provides support to access Amazon EC2 resources to supplement local resources with cloud resources to satisfy peak or fluctuating demands.
Scale-out of Computing Clusters with OpenNebula and Amazon EC2
As use case to illustrate the new capabilities provided by OpenNebula, the release includes documentation about the application of this new paradigm (i.e. the combination of VM managers and cloud computing) to a computing cluster, a typical data center service. The use of a new virtualization layer between the computing cluster and the physical infrastructure extends the classical benefits of VMs to the computing cluster, so providing cluster consolidation, cluster partitioning and support for heterogeneous workloads. Moreover, the integration of the cloud in this layer allows the cluster to grow on-demand with additional computational resources to satisfy peak demands.