OpenNebula is a tool for managing virtualization servers and network interfaces to deploy and manage virtual machines (VMs) on private and public clouds. It supports various virtualization (KVM, VMware, Xen), storage (local, NFS, iSCSI, Ceph) and image (LVM, qcow2, Ceph blocks) backends. OpenNebula consists of a management node with the OpenNebula software and optional Sunstone GUI, and compute servers where VMs are deployed and run. It provides a command line interface and workflow to create networks, images, VM templates, and deploy VMs, applying contextualization and hooks.