OpenNebula is an open source virtual infrastructure engine that enables the dynamic placement of VMs on a pool of physical resources. It provides a powerful and agile CLI and API for monitoring and controlling large scale VM deployments, including networking and image management, and a flexible and generic framework to define new policies for capacity provision. Additionally, OpenNebula provides plugins to access commercial clouds (Amazon EC2 and ElasticHosts) to supplement local resources with cloud resources to satisfy peak or fluctuating demands in the service workload. OpenNebula extends the benefits of virtualization platforms (hypervisors) 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. In computing environments, such separation of resource provisioning from job execution management provides several benefits: (1) elastic site capacity, the capacity of the site can be modified by deploying (or shutting down) virtual worker nodes on an on-demand basis, either in local physical resources or in remote resources; (2) cluster partitioning, the physical resources of the site could be used to execute worker nodes bound to different virtual computing clusters, and thus isolating their workloads and partitioning the performance assigned to each virtual cluster; and (3) heterogeneous configurations, the virtual worker nodes of a virtual cluster can have multiple (even conflicting) software configurations.