SlideShare a Scribd company logo
WHAT’S THE
DIFFERENCE
Between a VM and a Container?
2
Welcome to “What’s the Difference between a VM and a Container”
ONE SIMPLE IDEA
3
CHANGED EVERYTHING.
First, I will tell you a story about a simple idea that changed everything.
1873
In 1873, This is what toothpaste looked like.
1896
In 1896 one of the Colgate brothers saw paint in a tube like this, and decided to use it for toothpaste.
WE COULDN'T IMPROVE THE
PRODUCT SO WE IMPROVED
THE TUBE.
6
- Colgate, 1908
This was the Colgate sales slogan in 1908.
1962Colgate Research Center
In 1962 Colgate opened the Colgate Research Center.
1978
8
THE LAB ASSISTANT
In 1978 a lab assistant working at the CRC came up with a fabulous idea.
She said that it would double the company’s sales, and it could be done for almost no cost on an immediate basis. She pitched it to the executives to secure a 2% cut
for a year if it worked. The idea: Make the hole twice as big.
OMG, SALES DOUBLED!
10
They did it, and as predicted, it quickly doubled Colgate’s sales.
WELL, ACTUALLY…
11
This story would be even more awesome if the lab assistant part of the story was actually true, but it’s just urban legend. The story illustrates one thing very clearly: seemingly simple ideas can
have a huge impact.
1) PRESSURE BUILT UP IN A FINITE BOUNDED SYSTEM
NEEDS TO BE RELEASED SOMEWHERE OR THE SYSTEM
WILL BREAK.
2) THERE ARE DIMINISHING RETURNS TO SQUEEZING
THE TUBE AFTER A CERTAIN POINT.
TOOTHPASTE TUBE THEORY
Here is something that is actually true.
IMAGE PLACEHOLDER
1920 X1080
IDEA
13
Recently, there was a technical innovation that changed the game for containers the way the toothpaste story went. I will detail this idea for you in a moment.
ADRIAN OTTO
14
Distinguished Architect, Rackspace
Founder, OpenStack Containers Team
Founder and PTL, OpenStack Magnum
Organizer, Docker Los Angeles
Hi!
THE DIFFERENCE
15
1
2
3
EFFICIENCY
PERFORMANCE
SECURITY
These are the three key points of differentiation between virtual machines and containers.
16
HISTORY OF VIRTUALIZATION
• 1960’s IBM S/360 Mainframes are the 800# Gorilla
• Single user system designed for batch jobs
• 1963 MIT Project MAC ($2M grant from DARPA)
• Vendor Choice == GE (Commercial interest in time sharing computer)
• Whoops! IBM panicked! Created CP-40 for Bell Labs, CP-67.
• Virtual Machines on the CP-67 using “CP (Control Program)” in 1967!
• 1987 Insignia Solutions “SoftPC”
• 1997 Apple (Connectrix) “VirtualPC”
• 1999 VMWare “VMWare Workstation”
Virtual Machines have commercially existed since the IBM CP-67 in 1967.
17
APPLICATION VIRTUALIZATION
• 1990 Sun Microsystems “Stealth”
• Address C/C++ Portability problems
• Renamed Oak -> Webrunner -> Java (1995)
• 1996 Sun Microsystems “Java”
• Java Development Kit (JDK)
• Java Runtime Environment (JRE)
• Java Virtual Machine (JVM)
Sun attempted to answer code portability using Java starting in 1990.
18
OPEN SOURCE VIRTUALIZATION
• 1999 VMWare “VMWare Workstation”
• Commercial License
• 2003 Xensource
• Open Source
• 2007 Citrix acquired Xensource
• Renamed Xensource to Xenserver
• 2007 Oracle VirtualBox
• VirtualBox Open Source Edition (OSE)
• 2007 Linux KVM, Kernel 2.6.20
Commercially supported open source virtualization for workstations hit the mainstream in 1999, and for servers since 2003.
19
HISTORY OF CONTAINERS (1/2)
• 1979 UNIX chroot (added to BSD in 1982)
• 2000 FreeBSD Jails (filesystems, users, networks)
• 2001 Linux VServer (VPS Solution)
• 2005 OpenVZ (filesystems, users/groups, process tree, networks, devices, IPC)
• 2006 Process Containers (Linux Kernel 2.6.24, limit CPU, mem, disk, network IO)
• 2008 Control Groups (cgroups added to Linux Kernel)
• 2008 LXC (LinuX Containers, CLI and language bindings for 6 languages)
• 2011 Warden, CloudFoundry
• 2013 LMCTFY, Google
Namespace concepts like chroot have been around since 1979.
20
HISTORY OF CONTAINERS (2/2)
• 2013 Docker, DotCloud -> Docker Inc.
• 2014 Rocket, CoreOS
• 2016 Windows Containers, Microsoft
In 2013 containers caught fire, and hit the mainstream by 2015.
21
EVERYTHING CHANGED IN 2013
2013
DOCKER IMAGE
The concept of the Docker Image is the innovation that started to make containers something really compelling, and caused it to become popular.
22
Docker is an open source project sponsored by Docker, Inc. Docker Engine is how Docker Inc. refers to the open source software called “Docker”.
23
• Kernel Feature
• Groups of processes
• Control resource allocations
• CPU
• Memory
• Disk
• I/O
• May be nested
LINUX CGROUPS
Cgroups control the level of utilization processes on a host can consume. Containers are placed within a Cgroup.
24
• Kernel Feature
• Restrict your view of the system
• Mounts (CLONE_NEWNS)
• UTS (CLONE_NEWUTS)
• uname() output
• IPC (CLONE_NEWIPC)
• PID (CLONE_NEWPID)
• Networks (CLONE_NEWNET)
• User (CLONE_NEWUSER)
• See also: privileged/unprivileged modes
• May be nested
LINUX KERNEL NAMESPACES
Kernel Namespaces restrict access of processes to a limited view of the system defined at the time CLONE_* syscalls are used.
25
• NOT A FILESYSTEM
• NOT A VHD
• Basically a tar file
• Has a hierarchy
• Arbitrary depth
• Layered filesystem
• Top layer can be writable
• Fits into the Docker Registry
DOCKER CONTAINER IMAGE
Base Image
Child Image
Grandchild Image
Forget everything you think you know about images, because container images are totally different. The concept of layering allows for amazing speed benefits that allow
containers to start in a fraction of the time of VMs.
26
• Git Repo Semantics
• Pull
• Push
• Commit
• Hierarchy
DOCKER REGISTRY
Base Image
Child Image
Grandchild Image
The Docker Registry is a hosted service provided by Docker, Inc. that allows you to save and share your docker images.
27
• Combines several things
• Linux Cgroups
• Kernel Namespaces
• Docker Image
• Has a lifecycle
CONTAINER
CGROUPS NAMESPACES IMAGE
DOCKER
CONTAINER+ + =
A container is an amalgam of concepts.
28
• Like a Makefile (shell script with keywords)
• Extends from a Base Image
• Results in a new Docker Image
• Imperative, not Declarative
DOCKERFILE
DOCKERFILE BASE IMAGE
DOCKER
CONTAINER+ =
A Dockerfile is used to create a container image, and contains all the instructions needed to build one.
29
FROM centos:centos6
MAINTAINER Adrian Otto <aotto@aotto.com>
RUN yum -y install httpd
EXPOSE 80
ADD start.sh /start.sh
CMD /start.sh
DOCKERFILE EXAMPLE
$ docker build -t webserver .
This is how to build a simple web server container that contains only a few megabytes of data in the image itself, just the changes on disk for the “yum install httpd” plus some metadata
about the container.
30
FROM webserver
MAINTAINER Adrian Otto <aotto@aotto.com>
RUN yum -y install mysql-server php
EXPOSE 80
ADD start.sh /start.sh
CMD /start.sh
DOCKERFILE EXAMPLE
$ docker build -t lampstack .
This is how to base a container image on an existing one. I create a LAMP stack container image here based on my webserver image.
30
FROM webserver
MAINTAINER Adrian Otto <aotto@aotto.com>
RUN yum -y install mysql-server php
EXPOSE 80
ADD start.sh /start.sh
CMD /start.sh
DOCKERFILE EXAMPLE
$ docker build -t lampstack .
This is how to base a container image on an existing one. I create a LAMP stack container image here based on my webserver image.
THE DIFFERENCE
31
1
2
3
EFFICIENCY
PERFORMANCE
SECURITY
Remember, these are the three key differentiators between virtual machines, and containers.
32
THE DIFFERENCE
1 EFFICIENCY
Containers have a lower memory overhead, and require less storage on disk, because all apps share the same kernel, even if they use different operating system distros.
33
THE DIFFERENCE
2 PERFORMANCE
Apps running on bare metal on a host execute faster because there is no visualization in the execution path of a process once is has started. With VM’s there are multiple sets of context
switches for each interaction with the hardware.
33
THE DIFFERENCE
2 PERFORMANCE
Apps running on bare metal on a host execute faster because there is no visualization in the execution path of a process once is has started. With VM’s there are multiple sets of context
switches for each interaction with the hardware.
33
THE DIFFERENCE
2 PERFORMANCE
Apps running on bare metal on a host execute faster because there is no visualization in the execution path of a process once is has started. With VM’s there are multiple sets of context
switches for each interaction with the hardware.
34
THE DIFFERENCE
3 SECURITY
The attack surface area between neighboring containers on the same host is considerably larger than the attack surface area between neighboring VMs.
IMAGE PLACEHOLDER
1920 X1080
35
Constructed 1672-1695 (23 years). Imagine how many soldiers it would take to successfully defend this fortress.
IMAGE PLACEHOLDER
1920 X1080
CASTILLO DE SAN MARCOS
35
Constructed 1672-1695 (23 years). Imagine how many soldiers it would take to successfully defend this fortress.
IMAGE PLACEHOLDER
1920 X1080
36
Try protecting 80 fortresses, and if one of them is breached, they all fall. Totally different class of problem.
37
VIRTUALIZATION MAPPINGS
Physical Virtual
System Partition
Logical Processor Virtual Processor
Advanced Programmable Interrupt Controller (APIC) Virtual APIC + Synthetic Interrupt Controller (SynIC)
Physical Address = System mPhysical Address (SPA) Guest Physical Address (GPA)
Narrow attack surface area between virtual machines.
38
LINUX SYSCALL INTERFACE
Much wider attack surface area between neighboring containers.
38
LINUX SYSCALL INTERFACE
397 CALLS IN KERNEL 3.19
Much wider attack surface area between neighboring containers.
39
THE DIFFERENCE
3 SECURITY
Think of container security isolation like fences, where VM isolation is more like walls.
39
THE DIFFERENCE
3 SECURITY
Think of container security isolation like fences, where VM isolation is more like walls.
39
THE DIFFERENCE
3 SECURITY
Think of container security isolation like fences, where VM isolation is more like walls.
40
CONTAINTER ISOLATION TECHNIQUES
What’s special about this key? It’s a sweeping vulnerability present in the common door locks. There are other lock designs that are not vulnerable, but they cost more. There are ways to make neighboring
containers isolated near the level of VMs, but they don’t all produce an environment were all software can run without modification.
40
CONTAINTER ISOLATION TECHNIQUES
What’s special about this key? It’s a sweeping vulnerability present in the common door locks. There are other lock designs that are not vulnerable, but they cost more. There are ways to make neighboring
containers isolated near the level of VMs, but they don’t all produce an environment were all software can run without modification.
40
CONTAINTER ISOLATION TECHNIQUES
What’s special about this key? It’s a sweeping vulnerability present in the common door locks. There are other lock designs that are not vulnerable, but they cost more. There are ways to make neighboring
containers isolated near the level of VMs, but they don’t all produce an environment were all software can run without modification.
40
CONTAINTER ISOLATION TECHNIQUES
• SELinux / AppArmor
• Secure Computing Mode (seccomp)
• Container Nesting
• Docker Auth Plugins
• User Namespaces
• Encrypted Filesystems
• Address Space Layout Randomization (ASLR)
• Hardware Security Features (NX, VT-d, TPM, TXT, SMAP)
What’s special about this key? It’s a sweeping vulnerability present in the common door locks. There are other lock designs that are not vulnerable, but they cost more. There are ways to make neighboring
containers isolated near the level of VMs, but they don’t all produce an environment were all software can run without modification.
THE DIFFERENCE
41
1
2
3
EFFICIENCY
PERFORMANCE
SECURITY
In review, these are the three key points of differentiation between VM and Container technology. If performance and efficiency are your primary concerns, then containers make sense. If you want the benefit of
containers with the security of VM’s then combine them, or match them with additional security techniques that provide enough fortification to prevent breakouts.
Copyright © 2016 Rackspace | Rackspace® Fanatical Support® and other Rackspace marks are either registered service marks or service marks of Rackspce US, Inc. in the United States and other countries. Features, benefits
and pricing presented depend on system configuration and are subject to change without notice. Rackspace disclaims any representation, warranty or other legal commitment regarding its services except for those expressly
stated in a Rackspace services agreement. All other trademarks, service marks, images, products and brands remain the sole property of their respective holders and do not imply endorsement or sponsorship.
ONE FANATICAL PLACE | SAN ANTONIO, TX 78218
US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM
42
What's really the difference between a VM and a Container?

More Related Content

What's hot

Docker & Kubernetes intro
Docker & Kubernetes introDocker & Kubernetes intro
Docker & Kubernetes intro
Arnon Rotem-Gal-Oz
 
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
Rebuild - Simplifying Embedded and IoT Development Using Linux ContainersRebuild - Simplifying Embedded and IoT Development Using Linux Containers
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
LinuxCon ContainerCon CloudOpen China
 
Docker and Kubernetes 101 workshop
Docker and Kubernetes 101 workshopDocker and Kubernetes 101 workshop
Docker and Kubernetes 101 workshop
Sathish VJ
 
Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
NexThoughts Technologies
 
Docker architecture-04-1
Docker architecture-04-1Docker architecture-04-1
Docker architecture-04-1
Mohammadreza Amini
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
Patrick Chanezon
 
Containers technologies
Containers technologiesContainers technologies
Containers technologies
Joris Bonnefoy
 
Introduction to OCI Image Technologies Serving Container
Introduction to OCI Image Technologies Serving ContainerIntroduction to OCI Image Technologies Serving Container
Introduction to OCI Image Technologies Serving Container
LinuxCon ContainerCon CloudOpen China
 
Docker 101 Checonf 2016
Docker 101 Checonf 2016Docker 101 Checonf 2016
Docker 101 Checonf 2016
Patrick Chanezon
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
openstackindia
 
Building Reusable Development Environments with Docker
Building Reusable Development Environments with DockerBuilding Reusable Development Environments with Docker
Building Reusable Development Environments with Docker
Revelation Technologies
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerJohn Willis
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
Aniekan Akpaffiong
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Sparkbit
 
Docker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registryDocker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registry
dotCloud
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to docker
Dr Ganesh Iyer
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?
Madhuri Kumari
 

What's hot (20)

Docker & Kubernetes intro
Docker & Kubernetes introDocker & Kubernetes intro
Docker & Kubernetes intro
 
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
Rebuild - Simplifying Embedded and IoT Development Using Linux ContainersRebuild - Simplifying Embedded and IoT Development Using Linux Containers
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
 
Docker and Kubernetes 101 workshop
Docker and Kubernetes 101 workshopDocker and Kubernetes 101 workshop
Docker and Kubernetes 101 workshop
 
Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
 
Docker architecture-04-1
Docker architecture-04-1Docker architecture-04-1
Docker architecture-04-1
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Containers technologies
Containers technologiesContainers technologies
Containers technologies
 
Introduction to OCI Image Technologies Serving Container
Introduction to OCI Image Technologies Serving ContainerIntroduction to OCI Image Technologies Serving Container
Introduction to OCI Image Technologies Serving Container
 
Docker 101 Checonf 2016
Docker 101 Checonf 2016Docker 101 Checonf 2016
Docker 101 Checonf 2016
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
 
Building Reusable Development Environments with Docker
Building Reusable Development Environments with DockerBuilding Reusable Development Environments with Docker
Building Reusable Development Environments with Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registryDocker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registry
 
Docker 101 - High level introduction to docker
Docker 101 - High level introduction to dockerDocker 101 - High level introduction to docker
Docker 101 - High level introduction to docker
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?
 

Viewers also liked

esquema comparativo windows, linux, android
esquema comparativo windows, linux, android esquema comparativo windows, linux, android
esquema comparativo windows, linux, android
erika2122
 
Certificado
CertificadoCertificado
Certificado
Fernando Chito
 
3a Lei - A Lei do Darma ou Causa Efeito
3a Lei - A Lei do Darma ou Causa Efeito3a Lei - A Lei do Darma ou Causa Efeito
3a Lei - A Lei do Darma ou Causa Efeito
Eduardo Cesar
 
Informació serveis Manresa+Comerç
Informació serveis Manresa+ComerçInformació serveis Manresa+Comerç
Informació serveis Manresa+Comerç
Sebastià Suet Cano
 
PORTFOLIO
PORTFOLIOPORTFOLIO
PORTFOLIO
LALINPJ
 
Fernando chito
Fernando chitoFernando chito
Fernando chito
Fernando Chito
 
University of Michigan Learning Health System Collaboratory
University of Michigan Learning Health System CollaboratoryUniversity of Michigan Learning Health System Collaboratory
University of Michigan Learning Health System Collaboratory
Department of Learning Health Sciences, University of Michigan Medical School
 
Pedagodía de la pregunta.
Pedagodía de la pregunta.Pedagodía de la pregunta.
Pedagodía de la pregunta.
Susi Boix
 
How do I envision the City of the Future?
How do I envision the City of the Future?How do I envision the City of the Future?
How do I envision the City of the Future?
Claire Beaudron
 
Build Your Own Open Source Cloud
Build Your Own Open Source CloudBuild Your Own Open Source Cloud
Build Your Own Open Source Cloud
Adrian Otto
 
Docker 101 - Intro to Docker
Docker 101 - Intro to DockerDocker 101 - Intro to Docker
Docker 101 - Intro to Docker
Adrian Otto
 
Research proposal on food adulteration in dhaka city
Research proposal on food adulteration in dhaka cityResearch proposal on food adulteration in dhaka city
Research proposal on food adulteration in dhaka city
ujjal paul
 
Medlemskommunikation med sociala medier -Lisa Possne Frisell
Medlemskommunikation med sociala medier -Lisa Possne FrisellMedlemskommunikation med sociala medier -Lisa Possne Frisell
Medlemskommunikation med sociala medier -Lisa Possne Frisell
Svenska Båtunionen
 

Viewers also liked (13)

esquema comparativo windows, linux, android
esquema comparativo windows, linux, android esquema comparativo windows, linux, android
esquema comparativo windows, linux, android
 
Certificado
CertificadoCertificado
Certificado
 
3a Lei - A Lei do Darma ou Causa Efeito
3a Lei - A Lei do Darma ou Causa Efeito3a Lei - A Lei do Darma ou Causa Efeito
3a Lei - A Lei do Darma ou Causa Efeito
 
Informació serveis Manresa+Comerç
Informació serveis Manresa+ComerçInformació serveis Manresa+Comerç
Informació serveis Manresa+Comerç
 
PORTFOLIO
PORTFOLIOPORTFOLIO
PORTFOLIO
 
Fernando chito
Fernando chitoFernando chito
Fernando chito
 
University of Michigan Learning Health System Collaboratory
University of Michigan Learning Health System CollaboratoryUniversity of Michigan Learning Health System Collaboratory
University of Michigan Learning Health System Collaboratory
 
Pedagodía de la pregunta.
Pedagodía de la pregunta.Pedagodía de la pregunta.
Pedagodía de la pregunta.
 
How do I envision the City of the Future?
How do I envision the City of the Future?How do I envision the City of the Future?
How do I envision the City of the Future?
 
Build Your Own Open Source Cloud
Build Your Own Open Source CloudBuild Your Own Open Source Cloud
Build Your Own Open Source Cloud
 
Docker 101 - Intro to Docker
Docker 101 - Intro to DockerDocker 101 - Intro to Docker
Docker 101 - Intro to Docker
 
Research proposal on food adulteration in dhaka city
Research proposal on food adulteration in dhaka cityResearch proposal on food adulteration in dhaka city
Research proposal on food adulteration in dhaka city
 
Medlemskommunikation med sociala medier -Lisa Possne Frisell
Medlemskommunikation med sociala medier -Lisa Possne FrisellMedlemskommunikation med sociala medier -Lisa Possne Frisell
Medlemskommunikation med sociala medier -Lisa Possne Frisell
 

Similar to What's really the difference between a VM and a Container?

Kubernetes at Spreadshirt - First steps to production
Kubernetes at Spreadshirt - First steps to productionKubernetes at Spreadshirt - First steps to production
Kubernetes at Spreadshirt - First steps to production
Jens Hadlich
 
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Odinot Stanislas
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
Mario-Leander Reimer
 
A hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stackA hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stack
QAware GmbH
 
AtlanTEC 2017: Containers! Why Docker, Why NOW?
AtlanTEC 2017: Containers! Why Docker, Why NOW?AtlanTEC 2017: Containers! Why Docker, Why NOW?
AtlanTEC 2017: Containers! Why Docker, Why NOW?
Phil Estes
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
Ambassador Labs
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud Applications
RightScale
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Ambassador Labs
 
Continuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with KubernetesContinuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with Kubernetes
Luke Marsden
 
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on CloudIBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM France Lab
 
It's 2018. Are My Containers Secure Yet!?
It's 2018. Are My Containers Secure Yet!?It's 2018. Are My Containers Secure Yet!?
It's 2018. Are My Containers Secure Yet!?
Phil Estes
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
DockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - General Session Day 1 - Solomon HykesDockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - General Session Day 1 - Solomon Hykes
Docker, Inc.
 
IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017
Robert Parker
 
Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)
W2O Group
 
Docker Platform and Ecosystem
Docker Platform and EcosystemDocker Platform and Ecosystem
Docker Platform and Ecosystem
Patrick Chanezon
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
Patrick Chanezon
 
OSDC 2015: Martin Gerhard Loschwitz - Kristian Köhntopp | 45 Minutes of OpenS...
OSDC 2015: Martin Gerhard Loschwitz - Kristian Köhntopp | 45 Minutes of OpenS...OSDC 2015: Martin Gerhard Loschwitz - Kristian Köhntopp | 45 Minutes of OpenS...
OSDC 2015: Martin Gerhard Loschwitz - Kristian Köhntopp | 45 Minutes of OpenS...
NETWAYS
 

Similar to What's really the difference between a VM and a Container? (20)

Kubernetes at Spreadshirt - First steps to production
Kubernetes at Spreadshirt - First steps to productionKubernetes at Spreadshirt - First steps to production
Kubernetes at Spreadshirt - First steps to production
 
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
 
A hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stackA hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stack
 
AtlanTEC 2017: Containers! Why Docker, Why NOW?
AtlanTEC 2017: Containers! Why Docker, Why NOW?AtlanTEC 2017: Containers! Why Docker, Why NOW?
AtlanTEC 2017: Containers! Why Docker, Why NOW?
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud Applications
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
 
Continuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with KubernetesContinuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with Kubernetes
 
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on CloudIBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
 
It's 2018. Are My Containers Secure Yet!?
It's 2018. Are My Containers Secure Yet!?It's 2018. Are My Containers Secure Yet!?
It's 2018. Are My Containers Secure Yet!?
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
Kubernetes 101 Workshop
 
DockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - General Session Day 1 - Solomon HykesDockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - General Session Day 1 - Solomon Hykes
 
IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017
 
Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)
 
Docker Platform and Ecosystem
Docker Platform and EcosystemDocker Platform and Ecosystem
Docker Platform and Ecosystem
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 
OSDC 2015: Martin Gerhard Loschwitz - Kristian Köhntopp | 45 Minutes of OpenS...
OSDC 2015: Martin Gerhard Loschwitz - Kristian Köhntopp | 45 Minutes of OpenS...OSDC 2015: Martin Gerhard Loschwitz - Kristian Köhntopp | 45 Minutes of OpenS...
OSDC 2015: Martin Gerhard Loschwitz - Kristian Köhntopp | 45 Minutes of OpenS...
 

More from Adrian Otto

OpenStack Magnum
OpenStack MagnumOpenStack Magnum
OpenStack Magnum
Adrian Otto
 
Docker 101 2015-05-28
Docker 101 2015-05-28Docker 101 2015-05-28
Docker 101 2015-05-28
Adrian Otto
 
Magnum first-class-resource
Magnum first-class-resourceMagnum first-class-resource
Magnum first-class-resource
Adrian Otto
 
Using Docker with OpenStack - Hands On!
 Using Docker with OpenStack - Hands On! Using Docker with OpenStack - Hands On!
Using Docker with OpenStack - Hands On!
Adrian Otto
 
7 Habits of Highly Effective Contirbutors
7 Habits of Highly Effective Contirbutors7 Habits of Highly Effective Contirbutors
7 Habits of Highly Effective Contirbutors
Adrian Otto
 
Docker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureDocker 102 - Immutable Infrastructure
Docker 102 - Immutable Infrastructure
Adrian Otto
 

More from Adrian Otto (6)

OpenStack Magnum
OpenStack MagnumOpenStack Magnum
OpenStack Magnum
 
Docker 101 2015-05-28
Docker 101 2015-05-28Docker 101 2015-05-28
Docker 101 2015-05-28
 
Magnum first-class-resource
Magnum first-class-resourceMagnum first-class-resource
Magnum first-class-resource
 
Using Docker with OpenStack - Hands On!
 Using Docker with OpenStack - Hands On! Using Docker with OpenStack - Hands On!
Using Docker with OpenStack - Hands On!
 
7 Habits of Highly Effective Contirbutors
7 Habits of Highly Effective Contirbutors7 Habits of Highly Effective Contirbutors
7 Habits of Highly Effective Contirbutors
 
Docker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureDocker 102 - Immutable Infrastructure
Docker 102 - Immutable Infrastructure
 

Recently uploaded

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 

Recently uploaded (20)

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 

What's really the difference between a VM and a Container?

  • 1. WHAT’S THE DIFFERENCE Between a VM and a Container?
  • 2. 2 Welcome to “What’s the Difference between a VM and a Container”
  • 3. ONE SIMPLE IDEA 3 CHANGED EVERYTHING. First, I will tell you a story about a simple idea that changed everything.
  • 4. 1873 In 1873, This is what toothpaste looked like.
  • 5. 1896 In 1896 one of the Colgate brothers saw paint in a tube like this, and decided to use it for toothpaste.
  • 6. WE COULDN'T IMPROVE THE PRODUCT SO WE IMPROVED THE TUBE. 6 - Colgate, 1908 This was the Colgate sales slogan in 1908.
  • 7. 1962Colgate Research Center In 1962 Colgate opened the Colgate Research Center.
  • 8. 1978 8 THE LAB ASSISTANT In 1978 a lab assistant working at the CRC came up with a fabulous idea.
  • 9. She said that it would double the company’s sales, and it could be done for almost no cost on an immediate basis. She pitched it to the executives to secure a 2% cut for a year if it worked. The idea: Make the hole twice as big.
  • 10. OMG, SALES DOUBLED! 10 They did it, and as predicted, it quickly doubled Colgate’s sales.
  • 11. WELL, ACTUALLY… 11 This story would be even more awesome if the lab assistant part of the story was actually true, but it’s just urban legend. The story illustrates one thing very clearly: seemingly simple ideas can have a huge impact.
  • 12. 1) PRESSURE BUILT UP IN A FINITE BOUNDED SYSTEM NEEDS TO BE RELEASED SOMEWHERE OR THE SYSTEM WILL BREAK. 2) THERE ARE DIMINISHING RETURNS TO SQUEEZING THE TUBE AFTER A CERTAIN POINT. TOOTHPASTE TUBE THEORY Here is something that is actually true.
  • 13. IMAGE PLACEHOLDER 1920 X1080 IDEA 13 Recently, there was a technical innovation that changed the game for containers the way the toothpaste story went. I will detail this idea for you in a moment.
  • 14. ADRIAN OTTO 14 Distinguished Architect, Rackspace Founder, OpenStack Containers Team Founder and PTL, OpenStack Magnum Organizer, Docker Los Angeles Hi!
  • 15. THE DIFFERENCE 15 1 2 3 EFFICIENCY PERFORMANCE SECURITY These are the three key points of differentiation between virtual machines and containers.
  • 16. 16 HISTORY OF VIRTUALIZATION • 1960’s IBM S/360 Mainframes are the 800# Gorilla • Single user system designed for batch jobs • 1963 MIT Project MAC ($2M grant from DARPA) • Vendor Choice == GE (Commercial interest in time sharing computer) • Whoops! IBM panicked! Created CP-40 for Bell Labs, CP-67. • Virtual Machines on the CP-67 using “CP (Control Program)” in 1967! • 1987 Insignia Solutions “SoftPC” • 1997 Apple (Connectrix) “VirtualPC” • 1999 VMWare “VMWare Workstation” Virtual Machines have commercially existed since the IBM CP-67 in 1967.
  • 17. 17 APPLICATION VIRTUALIZATION • 1990 Sun Microsystems “Stealth” • Address C/C++ Portability problems • Renamed Oak -> Webrunner -> Java (1995) • 1996 Sun Microsystems “Java” • Java Development Kit (JDK) • Java Runtime Environment (JRE) • Java Virtual Machine (JVM) Sun attempted to answer code portability using Java starting in 1990.
  • 18. 18 OPEN SOURCE VIRTUALIZATION • 1999 VMWare “VMWare Workstation” • Commercial License • 2003 Xensource • Open Source • 2007 Citrix acquired Xensource • Renamed Xensource to Xenserver • 2007 Oracle VirtualBox • VirtualBox Open Source Edition (OSE) • 2007 Linux KVM, Kernel 2.6.20 Commercially supported open source virtualization for workstations hit the mainstream in 1999, and for servers since 2003.
  • 19. 19 HISTORY OF CONTAINERS (1/2) • 1979 UNIX chroot (added to BSD in 1982) • 2000 FreeBSD Jails (filesystems, users, networks) • 2001 Linux VServer (VPS Solution) • 2005 OpenVZ (filesystems, users/groups, process tree, networks, devices, IPC) • 2006 Process Containers (Linux Kernel 2.6.24, limit CPU, mem, disk, network IO) • 2008 Control Groups (cgroups added to Linux Kernel) • 2008 LXC (LinuX Containers, CLI and language bindings for 6 languages) • 2011 Warden, CloudFoundry • 2013 LMCTFY, Google Namespace concepts like chroot have been around since 1979.
  • 20. 20 HISTORY OF CONTAINERS (2/2) • 2013 Docker, DotCloud -> Docker Inc. • 2014 Rocket, CoreOS • 2016 Windows Containers, Microsoft In 2013 containers caught fire, and hit the mainstream by 2015.
  • 21. 21 EVERYTHING CHANGED IN 2013 2013 DOCKER IMAGE The concept of the Docker Image is the innovation that started to make containers something really compelling, and caused it to become popular.
  • 22. 22 Docker is an open source project sponsored by Docker, Inc. Docker Engine is how Docker Inc. refers to the open source software called “Docker”.
  • 23. 23 • Kernel Feature • Groups of processes • Control resource allocations • CPU • Memory • Disk • I/O • May be nested LINUX CGROUPS Cgroups control the level of utilization processes on a host can consume. Containers are placed within a Cgroup.
  • 24. 24 • Kernel Feature • Restrict your view of the system • Mounts (CLONE_NEWNS) • UTS (CLONE_NEWUTS) • uname() output • IPC (CLONE_NEWIPC) • PID (CLONE_NEWPID) • Networks (CLONE_NEWNET) • User (CLONE_NEWUSER) • See also: privileged/unprivileged modes • May be nested LINUX KERNEL NAMESPACES Kernel Namespaces restrict access of processes to a limited view of the system defined at the time CLONE_* syscalls are used.
  • 25. 25 • NOT A FILESYSTEM • NOT A VHD • Basically a tar file • Has a hierarchy • Arbitrary depth • Layered filesystem • Top layer can be writable • Fits into the Docker Registry DOCKER CONTAINER IMAGE Base Image Child Image Grandchild Image Forget everything you think you know about images, because container images are totally different. The concept of layering allows for amazing speed benefits that allow containers to start in a fraction of the time of VMs.
  • 26. 26 • Git Repo Semantics • Pull • Push • Commit • Hierarchy DOCKER REGISTRY Base Image Child Image Grandchild Image The Docker Registry is a hosted service provided by Docker, Inc. that allows you to save and share your docker images.
  • 27. 27 • Combines several things • Linux Cgroups • Kernel Namespaces • Docker Image • Has a lifecycle CONTAINER CGROUPS NAMESPACES IMAGE DOCKER CONTAINER+ + = A container is an amalgam of concepts.
  • 28. 28 • Like a Makefile (shell script with keywords) • Extends from a Base Image • Results in a new Docker Image • Imperative, not Declarative DOCKERFILE DOCKERFILE BASE IMAGE DOCKER CONTAINER+ = A Dockerfile is used to create a container image, and contains all the instructions needed to build one.
  • 29. 29 FROM centos:centos6 MAINTAINER Adrian Otto <aotto@aotto.com> RUN yum -y install httpd EXPOSE 80 ADD start.sh /start.sh CMD /start.sh DOCKERFILE EXAMPLE $ docker build -t webserver . This is how to build a simple web server container that contains only a few megabytes of data in the image itself, just the changes on disk for the “yum install httpd” plus some metadata about the container.
  • 30. 30 FROM webserver MAINTAINER Adrian Otto <aotto@aotto.com> RUN yum -y install mysql-server php EXPOSE 80 ADD start.sh /start.sh CMD /start.sh DOCKERFILE EXAMPLE $ docker build -t lampstack . This is how to base a container image on an existing one. I create a LAMP stack container image here based on my webserver image.
  • 31. 30 FROM webserver MAINTAINER Adrian Otto <aotto@aotto.com> RUN yum -y install mysql-server php EXPOSE 80 ADD start.sh /start.sh CMD /start.sh DOCKERFILE EXAMPLE $ docker build -t lampstack . This is how to base a container image on an existing one. I create a LAMP stack container image here based on my webserver image.
  • 32. THE DIFFERENCE 31 1 2 3 EFFICIENCY PERFORMANCE SECURITY Remember, these are the three key differentiators between virtual machines, and containers.
  • 33. 32 THE DIFFERENCE 1 EFFICIENCY Containers have a lower memory overhead, and require less storage on disk, because all apps share the same kernel, even if they use different operating system distros.
  • 34. 33 THE DIFFERENCE 2 PERFORMANCE Apps running on bare metal on a host execute faster because there is no visualization in the execution path of a process once is has started. With VM’s there are multiple sets of context switches for each interaction with the hardware.
  • 35. 33 THE DIFFERENCE 2 PERFORMANCE Apps running on bare metal on a host execute faster because there is no visualization in the execution path of a process once is has started. With VM’s there are multiple sets of context switches for each interaction with the hardware.
  • 36. 33 THE DIFFERENCE 2 PERFORMANCE Apps running on bare metal on a host execute faster because there is no visualization in the execution path of a process once is has started. With VM’s there are multiple sets of context switches for each interaction with the hardware.
  • 37. 34 THE DIFFERENCE 3 SECURITY The attack surface area between neighboring containers on the same host is considerably larger than the attack surface area between neighboring VMs.
  • 38. IMAGE PLACEHOLDER 1920 X1080 35 Constructed 1672-1695 (23 years). Imagine how many soldiers it would take to successfully defend this fortress.
  • 39. IMAGE PLACEHOLDER 1920 X1080 CASTILLO DE SAN MARCOS 35 Constructed 1672-1695 (23 years). Imagine how many soldiers it would take to successfully defend this fortress.
  • 40. IMAGE PLACEHOLDER 1920 X1080 36 Try protecting 80 fortresses, and if one of them is breached, they all fall. Totally different class of problem.
  • 41. 37 VIRTUALIZATION MAPPINGS Physical Virtual System Partition Logical Processor Virtual Processor Advanced Programmable Interrupt Controller (APIC) Virtual APIC + Synthetic Interrupt Controller (SynIC) Physical Address = System mPhysical Address (SPA) Guest Physical Address (GPA) Narrow attack surface area between virtual machines.
  • 42. 38 LINUX SYSCALL INTERFACE Much wider attack surface area between neighboring containers.
  • 43. 38 LINUX SYSCALL INTERFACE 397 CALLS IN KERNEL 3.19 Much wider attack surface area between neighboring containers.
  • 44. 39 THE DIFFERENCE 3 SECURITY Think of container security isolation like fences, where VM isolation is more like walls.
  • 45. 39 THE DIFFERENCE 3 SECURITY Think of container security isolation like fences, where VM isolation is more like walls.
  • 46. 39 THE DIFFERENCE 3 SECURITY Think of container security isolation like fences, where VM isolation is more like walls.
  • 47. 40 CONTAINTER ISOLATION TECHNIQUES What’s special about this key? It’s a sweeping vulnerability present in the common door locks. There are other lock designs that are not vulnerable, but they cost more. There are ways to make neighboring containers isolated near the level of VMs, but they don’t all produce an environment were all software can run without modification.
  • 48. 40 CONTAINTER ISOLATION TECHNIQUES What’s special about this key? It’s a sweeping vulnerability present in the common door locks. There are other lock designs that are not vulnerable, but they cost more. There are ways to make neighboring containers isolated near the level of VMs, but they don’t all produce an environment were all software can run without modification.
  • 49. 40 CONTAINTER ISOLATION TECHNIQUES What’s special about this key? It’s a sweeping vulnerability present in the common door locks. There are other lock designs that are not vulnerable, but they cost more. There are ways to make neighboring containers isolated near the level of VMs, but they don’t all produce an environment were all software can run without modification.
  • 50. 40 CONTAINTER ISOLATION TECHNIQUES • SELinux / AppArmor • Secure Computing Mode (seccomp) • Container Nesting • Docker Auth Plugins • User Namespaces • Encrypted Filesystems • Address Space Layout Randomization (ASLR) • Hardware Security Features (NX, VT-d, TPM, TXT, SMAP) What’s special about this key? It’s a sweeping vulnerability present in the common door locks. There are other lock designs that are not vulnerable, but they cost more. There are ways to make neighboring containers isolated near the level of VMs, but they don’t all produce an environment were all software can run without modification.
  • 51. THE DIFFERENCE 41 1 2 3 EFFICIENCY PERFORMANCE SECURITY In review, these are the three key points of differentiation between VM and Container technology. If performance and efficiency are your primary concerns, then containers make sense. If you want the benefit of containers with the security of VM’s then combine them, or match them with additional security techniques that provide enough fortification to prevent breakouts.
  • 52. Copyright © 2016 Rackspace | Rackspace® Fanatical Support® and other Rackspace marks are either registered service marks or service marks of Rackspce US, Inc. in the United States and other countries. Features, benefits and pricing presented depend on system configuration and are subject to change without notice. Rackspace disclaims any representation, warranty or other legal commitment regarding its services except for those expressly stated in a Rackspace services agreement. All other trademarks, service marks, images, products and brands remain the sole property of their respective holders and do not imply endorsement or sponsorship. ONE FANATICAL PLACE | SAN ANTONIO, TX 78218 US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM 42