Docker and containers - For Boston Docker Meetup Workshop in March 2015

Post on 14-Jul-2015

370 views 5 download

Tags:

Transcript of Docker and containers - For Boston Docker Meetup Workshop in March 2015

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

whoami

Jonas Rosland

Developer Advocate

EMC {code}

emccode.github.io

@virtualswede

jonas.rosland@emc.com

March 20, 2013: Docker Launches

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

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

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

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

• +++

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

• Using Docker in our ECS appliances

And of course…

Thank You Partner Ecosystem

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

~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

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

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

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

A useful analogy…

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

)

Also an NxN Matrix

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

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.

This eliminated the NxN problem

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

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…

…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)

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

Containers vs. VMs

Why are Docker containers lightweight?

What are the basics of the Docker system?

An Open Platform…

API

Engine Hub

open source software at the heart of the Docker platform

cloud-based platform services for distributed applications

API

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

…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

…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

• Faster delivery of your applications

• Deploying and scaling more easily

• Achieving higher density and running more

workloads

So to finish up, Docker enables

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