Libvirt
libvirt is an open-source API, daemon and management tool for managing platform virtualization. It can be used to manage KVM, Xen, VMware ESXi, QEMU and other virtualization technologies. These APIs are widely used in the orchestration layer of hypervisors in the development of a cloud-based solution.
Internals
libvirt is a C library with bindings in other languages, notably in Python, Perl, OCaml, Ruby, Java, JavaScript and PHP. libvirt for these programming languages is composed of wrappers around another class/package called libvirtmod. libvirtmod's implementation is closely associated with its counterpart in C/C++ in syntax and functionality.Supported Hypervisors
- LXC – lightweight Linux container system
- OpenVZ – lightweight Linux container system
- Kernel-based Virtual Machine/QEMU – open-source hypervisor for Linux and SmartOS
- Xen – bare-metal hypervisor
- User-mode Linux – paravirtualized kernel
- VirtualBox – hypervisor by Oracle for Windows, Linux, macOS, and Solaris
- VMware ESXi and GSX – hypervisors for Intel hardware
- VMware Workstation and Player – hypervisors for Windows and Linux
- Hyper-V – hypervisor for Windows by Microsoft
- PowerVM – hypervisor by IBM for AIX, Linux and IBM i
- Bhyve – hypervisor for FreeBSD 10+
User Interfaces