I’ve been looking at what is available to help manage a virtual environment, that favours open source.
It is important to know the difference between a VM, VPS and Container.
VM – Full VIrtual Machine, has it’s own kernel.
VPS – VPSs always run on the same OS kernel as the host system
Container –
Virtual Environments
Hypervisors
vSphere on ESXi – VmWare owned.
KVM – RedHat owned – Kernel-based Virtual Machine.
Hyper-V – Microsoft owned.
Containers
OpenVZ – Each VPS has it’s own kernel – full isolation from the guest. OS-level virtualization – sharing the same instance as the host OS.
LXD – designed for hosting virtual environments that “will typically be long running and based on a clean distribution image (Only runs on linux and favours ubuntu). Create an environment similar to Linux installation without the need for separate kernel. Check this video of LXD vs KVM.
LXC is a lightweight virtualization tool integrated into Linux kernel to run multiple virtual units
LXD is a container hypervisor which is built on top of LXC to improve the experience of the user
Docker – focuses on ephemeral, stateless, minimal containers that won’t typically get upgraded or re-configured but instead just be replaced entirely
CoreOS
Management Systems
OpenNebula
oVirt
ProxMox – tightly linked with KVM and LXD
openStack – Seems to be able to manage a variety of things: containers, VM’s, bare metal, functions, storage and networking
A list of available management tools for KVM
Research
From a research paper comparing the performance of OpenVZ vs LXC during a live migration
Results show that containers outperformed VMs due to its better utilization of resources. Containers can be used for application distribution to diminish resource overhead while VMs can be utilized for running application with critical businessdata.
From the results,it can be analyzed that LXC has lower downtime when compared to OpenVZ.
A comparison of virtualisation solutions
Helpers
Cloud Init – A set of scripts and utilities to make cloud images all they can be – whatever that means….
Kcli – Interacting with existing virtualisation providers
Creating Lab (Test) Environments
William Lam’s Prebuilt Appliance