docker and containers overview - docker workshop

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

Upload: jonas-rosland

Post on 16-Apr-2017

1.470 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Docker and Containers overview - Docker Workshop

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

Page 2: Docker and Containers overview - Docker Workshop

whoami

Jonas Rosland Developer Advocate

EMC {code} emccode.github.io

@jonasrosland [email protected]

Page 3: Docker and Containers overview - Docker Workshop

March 20, 2013: Docker Launches

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

Page 4: Docker and Containers overview - Docker Workshop

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 Engine

Docker Hub

Build, Ship, and Run

Partners

Content

Users

Page 5: Docker and Containers overview - Docker Workshop

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 Engine

Docker Hub 75K Apps in the Hub

Build, Ship, and Run

Partners

Content

Users

Page 6: Docker and Containers overview - Docker Workshop

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 overview - Docker Workshop

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 overview - Docker Workshop

• Using Docker in our ECS appliances

And of course…

Page 9: Docker and Containers overview - Docker Workshop

The Docker Ecosystem

Page 10: Docker and Containers overview - Docker Workshop

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 overview - Docker Workshop

~2000 2014Long 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 overview - Docker Workshop

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

Mul

tiplic

ity o

f Sta

cks

Mul

tiplic

ity o

f Har

dwar

e En

viro

nmen

ts

Production Cluster

Customer Data Center

Do services and apps

interact appropriately?C

an I migrate sm

oothly and quickly?

The Problem in 2014

Page 13: Docker and Containers overview - Docker Workshop

Results in NxN compatibility nightmare

Static website

Web frontend

Background workers

User DB

Analytics DB

Queue

Development VM QA Server Single Prod

ServerOnsite Cluster

Public Cloud

Contributor’s laptop

Customer Servers

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

Page 14: Docker and Containers overview - Docker Workshop

A useful analogy…

Page 15: Docker and Containers overview - Docker Workshop

Cargo Transport Pre-1960M

ultip

licity

of

Goo

dsM

ultip

licity

of

met

hods

for

tran

spor

ting/

stor

ing

Do I w

orry about how

goods interact (e.g. coffee beans

next to spices)

Can I transport

quickly and smoothly

(e.g. from boat to

train to truck)

Page 16: Docker and Containers overview - Docker Workshop

Also an NxN Matrix

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

Page 17: Docker and Containers overview - Docker Workshop

Solution: Intermodal Shipping ContainerM

ultip

licity

of

Goo

dsD

o I worry about how

goods interact (e.g. coffee beans next to

spices)

Can I transport quickly

and smoothly

(e.g. from boat to train

to truck)

…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 overview - Docker Workshop

This eliminated the NxN problem

Page 19: Docker and Containers overview - Docker Workshop

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 overview - Docker Workshop

Docker is a shipping container system for code

Static website Web frontend User DB Queue Analytics DB

Development VM

QA server Public Cloud Contributor’s laptop

Mul

tiplic

ity o

f S

tack

s

Production Cluster

Customer Data Center

Do services and apps interact

appropriately?

Can I m

igrate sm

oothly and quickly

…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 overview - Docker Workshop

…or put more simply

Static website Web frontend User DB Queue Analytics DB

Development VM

QA server Public Cloud Contributor’s laptop

Mul

tiplic

ity o

f S

tack

s

Production Cluster

Customer Data Center

Do services and apps interact

appropriately?

Can I m

igrate sm

oothly and quickly

Operator: Configure Once, Run Anything

Developer: Build Once, Run Anywhere (Finally)

Page 22: Docker and Containers overview - Docker Workshop

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

Page 23: Docker and Containers overview - Docker Workshop

Containers vs. VMs

Page 24: Docker and Containers overview - Docker Workshop

Why are Docker containers lightweight?

Page 25: Docker and Containers overview - Docker Workshop

What are the basics of the Docker system?

Page 26: Docker and Containers overview - Docker Workshop

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 overview - Docker Workshop

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 overview - Docker Workshop

…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

Doc

ker

AnalyticsDB

Prod Machine

Linux OS

Doc

ker

Doc

ker

++

Users Collab

Provenance Policy

Docker Hub

Registries

Public Curated Private

Docker Hub API

Third Party Tools

Prod Machine

Linux OS

Doc

ker

Doc

ker

Prod Machine

Linux OS

Doc

ker

Doc

ker

VM

Doc

ker

Doc

ker

VM

Doc

ker

Doc

ker

VM

Doc

ker

Doc

ker

QA Machine

Linux OS

Doc

ker

Doc

ker

Page 29: Docker and Containers overview - Docker Workshop

…Distributed Applications

Data

UserDB

Queue

AnalyticsDB

API Endpoint

WebFrontend

Data

Background Workers

Development VM

QA Server

Public Cloud

Disaster Recovery

Contributor’s LaptopProduction Servers

Production Cluster

Customer Data Center

Page 30: Docker and Containers overview - Docker Workshop

• 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 overview - Docker Workshop

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