Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Building the next generation of containerised applications

James Bottomley
CTO of Server Virtualization
Building the next generation of containerised applications

James Bottomley
CTO of Server Virtualization
Parallels
is the Oldest Container Company

 

 

1999 Virtuozzo Containers released

2005 Open Source version: OpenVZ

2006 Process Containers (CGroups)

2008 LXC version 0.1.0 released

2011 Kernel Container API

Now Odin
About Me

 

Container evangelist

Open Source Advocate

  • Converting Business to Open Source

Kernel Developer

  • SCSI Subsystem Maintainer
  • PA-RISC architecture Maintainer
Container Basics

Hypervisors are based on emulating hardware

Containers are about virtualizing the Operating System subsystems

Containers: Single Kernel; Hypervisors: multiple kernels.

Immediate Advantage: single kernel update, all guests benefit

Other container advantages: elasticity

|

|

|

Gigabytes

|

|

|

Megabytes

Just the lightness of containers makes them far more dense and elastic

But there's more: containers can be scaled instantly up or down (instant vertical scaling)

Sharing the same kernel makes container resource decisions much more efficiently than hypervisors

Linux Containers API

Kernel API is the same for all systems

Came from an Agreement at the Kernel Summit in 2011

Parallels (now Odin) organised all container interests to converge on a unified, upstream API

Led directly to the ability of Docker to run on upstream containers

 

Block I/O

CPU

Devices

Memory

Network

Freezer

Network NS

IPC NS

Mount NS

PID NS

UTS NS

User NS

Demo
Other Necessary Tools

To match hypervisors, also need migration

Enter

Checkpoint/Restore In Userspace

http://www.criu.org

Reduces a group of processes to a debug information representation

Information can be used to reconstruct processes anywhere

including on any kernel version

Used as the basis for container migration in every Linux system

Conclusions
Thanks to a lot of upstream Kernel Work, Containers are here to stay
Native Kernel Control plane is excruciatingly complex
But that's not an excuse for not using them
Go forth and find interesting applications of container technology
Presented using impress.js by Bartek Szopka


Web Developer!
Thank You!
Questions?