VM vs Container Xen KVM VMware etc Hardware













- Slides: 13
VM vs Container Xen, KVM, VMware, etc. ● ● Hardware emulation / paravirtualization Can run different OSs on the same box ● Dozens of instances ● OS sprawl problem ● Lower performance ● Chroot on steroids ● Single OS per box ● Hundred of instances ● ● Dynamic resource management, best scalability Trivial performance overhead
Usage Scenarios ● ● ● ● CI/CD and development operations Containers and big data Server Consolidation High Availability Hosting Dynamic Load Balancing Security Isolation Educational
Recent changes ● ● ● RHEL 7 kernel port 4 th gen of resource mgmt: VCMMD CPT in upstream kernel (CRIU) QEMU/KVM virtual machines Bare metal installer - Virtuozzo
Future directions ● ● ● ● Mainstream kernel integration Support of upstream kernel by mgmt tools Clear Linux Docker app containers REST API Cluster (HA, DRS, shared storage) Integration with Open. Stack
Mainstream kernel integration ● Open. VZ project pioneers container technology − ● Developing new container technology since 1999. Features then ported from Open. VZ to upstream Linux “containers”. Already upstream (in Linux containers): − Namespaces: IPC, UTS, PID, user, network − cgroups (control groups), memory controllers (RSS, page cache), − NFS virtualization − Checkpoint and Restore − Collaborative community effort: IBM, Google, SGI, Odin • It’s still ongoing − In progress: disk thin provisioning
CRIU (Checkpoint and Restore In Userspace) ● ● ● ● First successful attempt for CPT in upstream Powering Docker live migration 150+ kernel patches in upstream 3 years old Users: Google, Samsung, Huawei, Canonical… TCP connection migration works! Live migration: P. Haul
P. Haul (Process Hauler) ● ● Implements live migration usage scenario License: GPLv 2
Lib. CT ● ● ● Linux containers control plane Apache License Allows to create container w 10 lines of C code
Ploop ● ● ● Linux containers control plane Apache License Integration with Virtuozzo, Open. VZ, Docker
VCMMD (memory manager) ● ● ● Manage container memory from userspace Kernel part in mainline License: GPLv 2
To sum it up ● Containers scale as well as Linux does − − − ● Platform-independent − − ● Benefit from all Linux performance improvements Native I/O speed, best possible performance The more memory/CPUs the merrier as long as Linux supports it, we support it ARM/MIPS/PPC no problem. Plays well with others (Xen, KVM, VMware) − − VM and container technologies are orthogonal run containers and VMs side by side
Success stories
Contact us