Operating System Level Virtualization (Part 2) – Implementations Comparison
Implementations of Operating System Level Virtualization
These days, everyone knows what’s Cloud Computing and cloud based services are using for speedup deployment of organizations services. Operating System Level Virtualization or Containers helping system architectures and administrators to achieve the goals. There are many implementations for containers that today, those methods are compatible with different hardware architectures and operating system.
You may know that Unix has OS Level Virtualization from past years and this technology is very older than other virtualization such as Full Virtualization or Paravirtulization.
Full Virtualization (VMware ESXi, Hyper-V) and Paravirtualization (Xen, UML) provides different guest OS but there is no way to use different guest OS when you are using containers. Of curse, some solutions are under development.
When you want to use OS Level Virtualization consider the following:
Operating-system-level virtualization usually imposes less overhead than full virtualization because programs in virtual partitions use the operating system’s normal system call interface and do not need to be subjected to emulation or be run in an intermediate virtual machine, as is the case with full virtualization (such as VMware ESXi, QEMU or Hyper-V) and paravirtualization (such as Xen or UML). This form of virtualization also does not require hardware support for efficient performance.
Operating-system-level virtualization is not as flexible as other virtualization approaches since it cannot host a guest operating system different from the host one, or a different guest kernel. For example, with Linux, different distributions are fine, but other operating systems such as Windows cannot be hosted.
Solaris partially overcomes the limitation described above with its branded zones feature, which provides the ability to run an environment within a container that emulates an older Solaris 8 or 9 version in a Solaris 10 host. Linux branded zones (referred to as “lx” branded zones) are also available on x86-based Solaris systems, providing a complete Linux userspace and support for the execution of Linux applications; additionally, Solaris provides utilities needed to install Red Hat Enterprise Linux 3.x or CentOS 3.x Linux distributions inside “lx” zones. However, in 2010 Linux branded zones were removed from Solaris; in 2014 they were reintroduced in Illumos, which is the open source Solaris fork, supporting 32-bit Linux kernels.
Some operating-system-level virtualization implementations provide file-level copy-on-write (CoW) mechanisms. (Most commonly, a standard file system is shared between partitions, and those partitions that change the files automatically create their own copies.) This is easier to back up, more space-efficient and simpler to cache than the block-level copy-on-write schemes common on whole-system virtualizers. Whole-system virtualizers, however, can work with non-native file systems and create and roll back snapshots of the entire system state.
Currently, the most popular implementation is Docker, many of organization using Docker community and enterprise on Windows, Linux and other supported platforms to hosting and serving applications on container.
LXC is also popular like Docker and Linux users can use it without any cost, I want to write some posts about implementations specifically.
OpenVZ, this is my favorite. Live migration is implemented on OpenVZ to have container migration between hosts.
The following table comparison OS Level Virtualization implementations about the below items:
- Operating system
- Available since or between
Download the table from the below Link:
OS Level Virtulization Implementations Comparison
Network Virtualization For Dummies
NTP Software Implementations Comparison
[Review]: Xen Project Hypervisor 4.11
[Review]: What is Container Linux?