docker and containers - for boston docker meetup workshop in march 2015

31
An Open Platform to Build, Ship, and Run Distributed Applications

Upload: jonas-rosland

Post on 14-Jul-2015

371 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Docker and containers - For Boston Docker Meetup Workshop in March 2015

An Open Platform to Build, Ship, and Run Distributed Applications

Page 2: Docker and containers - For Boston Docker Meetup Workshop in March 2015

whoami

Jonas Rosland

Developer Advocate

EMC {code}

emccode.github.io

@virtualswede

[email protected]

Page 3: Docker and containers - For Boston Docker Meetup Workshop in March 2015

March 20, 2013: Docker Launches

https://www.youtube.com/watch?v=wW9CAH9nSLs

Page 4: Docker and containers - For Boston Docker Meetup Workshop in March 2015

15 Months Later: An Incredible Platform and Ecosystem

Official Repos & 14K+ Dockerized Apps

Community

460+ Contributors

250+ Meetups on Docker

2.75M Downloads

6.7K Projects on GitHub

Support

Enterprise Support

Robust Documentation

Implementation, Integration, Training

Network of Partners

The Docker Platform

Docker EngineDocker Hub

Build, Ship, and Run

Partners

Content

Users

Page 5: Docker and containers - For Boston Docker Meetup Workshop in March 2015

24 Months Later: An Incredible Platform and Ecosystem

Official Repos & 14K+ Dockerized Apps

Community

790+ Contributors

150+ Meetup Groups

100M+ Downloads

50K Projects on GitHub

Support

Enterprise Support

Robust Documentation

Implementation, Integration, Training

Network of Partners

The Docker Platform

Docker EngineDocker Hub 75K Apps in the Hub

Build, Ship, and Run

Partners

Content

Users

Page 6: Docker and containers - For Boston Docker Meetup Workshop in March 2015

We know we’re riding on your shoulders

Thank You to the Giants

• Namespaces (IBM)

• Cgroups (Google)

• LXC tools

• The Linux Kernel

• Git

• SELinux (Red Hat)

• Solaris Zones

• BSD Jails

• +++

Page 7: Docker and containers - For Boston Docker Meetup Workshop in March 2015

Thank You Users/Use Cases*

*A small subset of the 100s who are using and/or writing about us

Thanks to those above for talking about their experiences at DockerCon

Page 8: Docker and containers - For Boston Docker Meetup Workshop in March 2015

• Using Docker in our ECS appliances

And of course…

Page 9: Docker and containers - For Boston Docker Meetup Workshop in March 2015

Thank You Partner Ecosystem

Page 10: Docker and containers - For Boston Docker Meetup Workshop in March 2015

Agenda

Official Repos & 14K + Dockerized Apps

Partners

Content

Users

Community

460+ Contributors

250+ Meetups on Docker

2.75M Downloads

6.7K Projects on GitHub

Support

Enterprise Support

Robust Documentation

Implementation, Integration, Training

Network of Partners

The Docker Platform

Docker Engine

Docker Hub

Build, Ship, and Run

Page 11: Docker and containers - For Boston Docker Meetup Workshop in March 2015

~2000 2014

Long lived Development is iterative and constant

Monolithic and built on a single stack Built from loosely coupled components

Deployed to a single server Deployed to a multitude of servers

Apps Have Fundamentally Changed

Page 12: Docker and containers - For Boston Docker Meetup Workshop in March 2015

Static website

Web frontend

User DB

Queue

Analytics DB

Background workersAPI endpoint

nginx 1.5 + modsecurity +

openssl + bootstrap 2

postgresql + pgv8 + v8 hadoop + hive +

thrift + OpenJDK

Ruby + Rails + sass +

Unicorn

Redis + redis-

sentinel

Python 3.0 + celery + pyredis + libcurl +

ffmpeg + libopencv + nodejs + phantomjs Python 2.7 + Flask + pyredis +

celery + psycopg + postgresql-client

Development VM

QA Server

Public Cloud

Disaster Recovery

Contributor’s LaptopProduction Servers

Mu

ltip

lic

ity o

f S

tac

ks

Mu

ltip

lic

ity o

f H

ard

wa

re

En

vir

on

me

nts

Production Cluster

Customer Data Center

Do

se

rvic

es

an

d a

pp

s

inte

ract a

pp

rop

riate

ly?

Ca

n I m

igra

te s

mo

oth

ly

an

d q

uic

kly

?

The Problem in 2014

Page 13: Docker and containers - For Boston Docker Meetup Workshop in March 2015

Results in NxN compatibility nightmare

Static website

Web frontend

Background workers

User DB

Analytics DB

Queue

Development

VMQA Server

Single Prod

Server

Onsite

ClusterPublic Cloud

Contributor’s

laptop

Customer

Servers

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

Page 14: Docker and containers - For Boston Docker Meetup Workshop in March 2015

A useful analogy…

Page 15: Docker and containers - For Boston Docker Meetup Workshop in March 2015

Cargo Transport Pre-1960M

ult

iplicit

y o

f

Go

od

sM

ult

iplicit

y o

f

me

tho

ds f

or

tran

sp

ort

ing

/sto

rin

g

Do

I wo

rry a

bo

ut h

ow

go

od

s in

tera

ct (e

.g.

co

ffee

be

an

s n

ex

t to

sp

ice

s)

Ca

n I tra

ns

po

rt qu

ick

ly

an

d s

mo

oth

ly

(e.g

. from

bo

at to

train

to tru

ck

)

Page 16: Docker and containers - For Boston Docker Meetup Workshop in March 2015

Also an NxN Matrix

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

Page 17: Docker and containers - For Boston Docker Meetup Workshop in March 2015

Solution: Intermodal Shipping ContainerM

ultip

licity o

f

Goods

Do

I wo

rry a

bo

ut h

ow

goods in

tera

ct (e

.g.

co

ffee

be

an

s n

ext to

sp

ice

s)

Ca

n I tra

nsp

ort q

uic

kly

an

d s

mo

oth

ly

(e.g

. from

boat to

train

to tru

ck)

…in between, can be loaded and

unloaded, stacked, transported

efficiently over long distances, and

transferred from one mode of

transport to another

A standard container that is

loaded with virtually any goods,

and stays sealed until it reaches

final delivery.

Page 18: Docker and containers - For Boston Docker Meetup Workshop in March 2015

This eliminated the NxN problem

Page 19: Docker and containers - For Boston Docker Meetup Workshop in March 2015

The Right Approach to Containers Matters

• Separation of concerns

• Automation

• Efficiency

• Broad ecosystem

Images courtesy of PokkO / Shutterstock.com, Lewis Hine - http://www.archives.gov/research_room/research_topics/american_cities/images/american_cities_069.jpg

Page 20: Docker and containers - For Boston Docker Meetup Workshop in March 2015

Docker is a shipping container system for code

Static website Web frontend User DB Queue Analytics DB

Developmen

t VMQA server Public Cloud Contributor’

s laptop

Multip

licity o

f

Sta

cks

Production

ClusterCustomer

Data Center

Do s

erv

ices a

nd

apps in

tera

ct

appro

pria

tely

?

Can I m

igra

te

sm

ooth

ly a

nd

qu

ickly

…that can be manipulated using

standard operations and run

consistently on virtually any

hardware platform

An engine that enables any

payload to be encapsulated as

a lightweight, portable, self-

sufficient container…

Page 21: Docker and containers - For Boston Docker Meetup Workshop in March 2015

…or put more simply

Static website Web frontend User DB Queue Analytics DB

Developmen

t VMQA server Public Cloud Contributor’

s laptop

Multip

licity o

f

Sta

cks

Production

ClusterCustomer

Data Center

Do s

erv

ices a

nd

apps in

tera

ct

appro

pria

tely

?

Can I m

igra

te

sm

ooth

ly a

nd

qu

ickly

Operator: Configure Once,

Run Anything

Developer: Build Once,

Run Anywhere (Finally)

Page 22: Docker and containers - For Boston Docker Meetup Workshop in March 2015

An Open Platform to Build, Ship, and Run Distributed Applications

Page 23: Docker and containers - For Boston Docker Meetup Workshop in March 2015

Containers vs. VMs

Page 24: Docker and containers - For Boston Docker Meetup Workshop in March 2015

Why are Docker containers lightweight?

Page 25: Docker and containers - For Boston Docker Meetup Workshop in March 2015

What are the basics of the Docker system?

Page 26: Docker and containers - For Boston Docker Meetup Workshop in March 2015

An Open Platform…

API

Engine Hub

open source software at the heart of the Docker platform

cloud-based platform services for distributed applications

API

Page 27: Docker and containers - For Boston Docker Meetup Workshop in March 2015

An Open Platform…

Any App

Any infrastructure

• Physical

• Virtual cloud

+ 75K apps

+ 50K projects

API

Engine Hub

cloud-based platform services for distributed applications

API

open source software at the heart of the Docker platform

Page 28: Docker and containers - For Boston Docker Meetup Workshop in March 2015

…to Build, Ship, and Run

Build Ship

Run

Dev

QA

Source

Staging

Physical

Virtual

Cloud

Infrastructure Management

Infrastructure Management

DockerFile

Source Code

Repository

TESTTEST

TESTTEST

TEST

GCE RAX IBM

Mac/Win Dev

Machine

Boot2Docker

Docker

AnalyticsDB

Prod Machine

Linux OS

Docker

Docker

++

Users Collab

Provenance Policy

Docker Hub

Registries

Public Curated Private

Docker Hub API

Third Party Tools

Prod Machine

Linux OS

Docker

Docker

Prod Machine

Linux OS

Docker

Docker

VM

Docker

Docker

VM

Docker

Docker

VM

Docker

Docker

QA Machine

Linux OS

Docker

Docker

Page 29: Docker and containers - For Boston Docker Meetup Workshop in March 2015

…Distributed Applications

Data

UserDB

Queue

AnalyticsDB

API Endpoint

Web

Frontend

Data

BackgroundWorkers

Development VM

QA Server

Public Cloud

Disaster Recovery

Contributor’s LaptopProduction Servers

Production Cluster

Customer Data Center

Page 30: Docker and containers - For Boston Docker Meetup Workshop in March 2015

• Faster delivery of your applications

• Deploying and scaling more easily

• Achieving higher density and running more

workloads

So to finish up, Docker enables

Page 31: Docker and containers - For Boston Docker Meetup Workshop in March 2015

An Open Platform to Build, Ship, and Run Distributed Applications