DOCKER 101
Jonas Rosland
@jonasrosland
WHY IS THIS
INTERESTING?
LET’S START WITH A
MONOLITHIC APP
http://cantina.co/monolithic-architecture-doesnt-scale/
HOW DO WE SCALE IT?
http://cantina.co/monolithic-architecture-doesnt-scale/
http://cantina.co/monolithic-architecture-doesnt-scale/
IT’S NOT JUST
ALL ABOUT SCALE
BUT ALSO ABOUT
SEPARATION OF CONCERN
MICROSERVICES
http://cantina.co/monolithic-architecture-doesnt-scale/
EVERYTHING IS
LOOSELY COUPLED
HOW DO WE SCALE THIS?
http://cantina.co/monolithic-architecture-doesnt-scale/
SO HOW DO WE DEPLOY
IT?
ONE APP
PER PHYSICAL SERVER?
ONE APP
PER VIRTUAL MACHINE?
CONTAINERS!
https://www.flickr.com/photos/gcwest/281385801/
ONE FUNCTION
PER CONTAINER
TRADITIONAL SERVERS
OS Kernel
Hardware
App App App App
VIRTUALIZATION
Hypervisor
Hardware
OS OS OS OS
App App App App
CONTAINERS
OS Kernel
Hardware
App App App App
ISOLATION IS KEY
Python 2.7
JRE 8
NodeJS 0.12.2
Haskell 7.8.4
Go 1.4.2
Rust 1.0.0-beta.3
Ruby on Rails 4.2
Python 2.7
JRE 8
NodeJS 0.12.2
Haskell 7.8.4
Go 1.4.2
Rust 1.0.0-beta.3
Ruby on Rails 4.2
Python 2.7
JRE 8
NodeJS 0.12.2
Haskell 7.8.4
Go 1.4.2
Rust 1.0.0-beta.3
Ruby on Rails 4.2
Python 2.7
JRE 8
NodeJS 0.12.2
Haskell 7.8.4
Go 1.4.2
Rust 1.0.0-beta.3
Ruby on Rails 4.2
One host
Python 2.7
JRE 8
NodeJS 0.12.2
Haskell 7.8.4
Go 1.4.2
Rust 1.0.0-beta.3
Ruby on Rails 4.2
Host 2Host 1
Host 3
Host 4
WHAT ABOUT
ADDED FUNCTIONALITY?
HUGE ECOSYSTEM!
http://comp.photo777.org/wp-content/uploads/2014/09/Docker-ecosystem-8.2.pdf
RUN ANYTHING
RUN ANYWHERE
MORE INFO?
READ THIS
• docker.com
• The Docker Ecosystem by DigitalOcean
• Monolithic Architecture Doesn’t Scale

Docker 101 - DevOps at EMC May 2015