[Hamid Salehian]
Software that manipulates hardware.
Hardware
Hardware
VMM (Hypervisor)
VMM (Hypervisor)
Host
OS
Guest OS
Guest OS
Guest OS
Guest OS
Guest OS
Application
Application
Application
Application
Application
Bare metal architecture
Xen, VMware ESX server, Hyper-V
Mostly for server, but not limited
OS-independent VMM
Hosted architecture
VMware Workstation, VirtualBox
Mostly for client devices, but not limited
OS-dependent VMM
bin/libs
bin/libs
bin/libs
bin/libs
bin/libs
UNIX V7 1997
Developed chroot system call, which provided process isolation. Chroot was added to BSD in 1982
FREEBSD JAILS 2000
Introduced jails, early container technology
LINUX VSERVER 2001
Operating System virtualization implemented by patching the Linux kernel
ORACLE SOLARIS ZONES 2004
Similar to jails, but Zones were able to leverage features like snapshots and cloning from ZFS.
OPEN VIRTUZZO (OPENVZ) 2005
Released by Parallels (formerly SWsoft), code was not released as part of the official Linux kernel, but offered a wide array of features include resource managements and live migration.
PROCESS CONTAINERS 2006
Developed by Google (primarily Paul Menage and Rohit Seth) to aggregate processes within the Linux kernel for resource management.
HISTORY
started by Google in 2006
merged into kernel version 2.6 in 2007
many improvements since
stable since kernel version 3.8 in 2013
Hardware
VMM (Hypervisor)
Host OS
Application
Application
Application
Hardware
VMM (Hypervisor)
Host OS
Guest OS
Guest OS
Application
Application
bin/libs
bin/libs
Guest OS
Application
bin/libs
bin/libs
Hardware
Linux Kernel
Containers
Containers
Containers
Containers
Containers
SELinux
cgroups
namespaces
Drivers
Management Interface
Isolate processes from one another
1
2
3
4
5
6
7,1
8
8,2
9,3
10,4
namespace
(control group)
Control resource allocation to processes
2
Security-Enhanced Linux (SELinux) provides
secure separation of containers by applying
SELinux policy and labels.
2
- Containers are more lightweight
- No need to install guest OS
- Less CPU, RAM,
Storage needed
- More containers
per machine than VM
Docker is a platform for developing, shipping & running application using container based virtualization technology.
Lets Get Hands Dirty
powered by: slides.com
see more: https://slides.com/hsarena