Docker Devoxx UK - Never mind the bollocks here's the Linux Containers

69
Patrick Chanezon, Docker Inc. @chanezon Linux Contain ers With slides from @jpetazzo @timpark @vieux @tnachen @volkerw IBM @borja_burgos

Transcript of Docker Devoxx UK - Never mind the bollocks here's the Linux Containers

Patrick Chanezon, Docker Inc.@chanezonLinu

x Conta

iners

With slides from @jpetazzo @timpark @vieux @tnachen @volkerw IBM @borja_burgos

French

Polyglot

Platforms

San Francisco

Developer Relations

@chanezon

1995 2015

Holidays in

the Sun

History of containerization• 1960’s mainframe• 1990’s hardware virtualization• 1990’s OS virt precursors: BSD Jails, Solaris

zones• 2006 Cloud IaaS• 2009 platform virtualization (PaaS)• 2013 Docker

See @bcantrill’s deck http://www.slideshare.net/bcantrill/docker-and-the-future-of-containers-in-production

7

Happy birthday!

Liar

“Write Once, Run everywhere”Java marketing circa 1998

Why Docker success now?• Cloud adoption • Portability• Hybrid• Devops

Cloud Market

PublicHybridPrivate

IT Pros Devops DevelopersArchitects

It’s an ecosystem

Linux Container Ecosystem

No Feelin

gs

Isolation using Linux kernel features

namespaces pid mnt net uts ipc user

cgroups memory cpu blkio devices

Docker now

A platform to build, ship, and run any app, anywhere

docker engine docker hub docker-machine docker-compose docker-swarm kitematic

Docker for developers

https://registry.hub.docker.com/_/java/

docker-compose: running multiple containers Run your stack with one command: docker-compose up Describe your stack with one file: docker-compose.yml

web: build: . command: python app.py ports: - "5000:5000" volumes: - .:/code links: - redis:redis

redis: image: redis

docker-machine

docker-machine create -d azure \

—azure-subscription-id="c4f51be3-784c-xxx-7c50ad9e1b7c" \

--azure-subscription-cert="/Users/pat/.ssh/docker-azure-cert.pem" \

--azure-location="East US" \

--azure-size=Small \

--azure-username="pat" \

pat-docker-machine-n

Docker Hub

Docker Hub Enterprise

Kitematic

Deploy almost anywhere

Docker, the community

>700 contributors ~20 core maintainers >40,000 Dockerized projects on GitHub >60,000 repositories on Docker Hub >25000 meetup members,

>140 cities, >50 countries >2,000,000 downloads of boot2docker

Docker Inc, the company

Headcount: ~130 Revenue:

− t-shirts and stickers featuring the cool blue whale− SAAS delivered through Docker Hub− Support & Training− soon: Docker Hub Enterprise, behind the firewall

Problems

Client-Server

26

27

Web

28

Cloud - Devops

Separation of concerns:Dave the Developer

Inside my container:− my code− my libraries− my package manager− my app− my data

Separation of concerns:Oscar the Ops guy

Outside the container:− logging− remote access− network configuration− monitoring

Anarchy in

the U

K

Linux Container Ecosystem

Docker Swarm

DockerCLI

DockerCLI

DockerCLI

Docker Engine

us-west us-east

DockerCLI

DockerCLI

Docker Swarm

Swarm

Swarm in a nutshell Docker REST API (>85%)

Resource management (CPU, Mem, Networking)

Advanced scheduling with constraints and affinities

Multiple Discovery Backends (hub, etcd, consul, zookeeper)

TLS: Encryption & Authentication

Swarm beta integrations Fully integrated with Machine Partially integrated with Compose Mesos integration has started in

collaboration with Mesosphere.

Swarm load balancing: interlock

https://github.com/ehazlett/interlock/tree/master/plugins/haproxy

Kubernetes

host-1

Container

host-2 host-3 host-4 host-n

Container

Container

Container

Container

ContainerContainer

ContainerContainer

Kubernetes

host-1 host-2 host-3 host-4 host-n

Frontend

Worker

my_app pod

MyAppMyApp MyApp

Replication Controller

3

Kubernetes

host-1 host-2 host-3 host-4 host-n

Frontend

Worker

my_app pod

MyAppMyApp MyApp

Replication Controller

3

Kubernetes

host-1 host-2 host-3 host-4 host-n

…MyAppMyApp MyApp

Replication Controller

Pod Pod

Pod

Pod

PodPod

PodPod

Replication Controller

Kubernetes

host-1 host-2 host-3 host-4 host-n

…MyAppstaging

MyAppstaging

MyAppstaging

MyAppprod

MyAppprod

MyAppprod

MyAppprod

MyAppprod

MyApp Production Service

{ environment: prod }

MyApp Staging Service{ environment: staging }

Labels and Services

Cloud Foundry Diego & Lattice

cf docker-push my-app cloudfoundry/lattice-app

Customer Managed

Service Provider Managed

IBM SoftLayer

We listened. Now we’re evolving to become even more flexible.Capabilities in Bluemix now span PaaS and IaaS and can be delivered as a public, dedicated, or on-premises* implementation.

Infrastructure as a Service

Code

Data

Runtime

Middleware

OS

Virtualization

Servers

Storage

Networking

Code

Data

Runtime

Middleware

OS

Virtualization

Servers

Storage

Networking

Platform as a Service

*Bluemix Local coming Summer 2015

Built on open technologies:

Tutum: The Container Platform

Dev Deploy ManageBuild

CI CD

Coderepo

Imagerepo

Monitoring

Logging

Scaling

Networking

Storage

Service Discovery

Composability

Security

Hosts Public CloudPrivate CloudAcross:

Environments

TUTUM CONTAINER PLATFORM

Public Cloud

Test

Orchestration

Bodies

Flocker

Pretty

Vacant

Weave

PowerstripPrototyping Docker Plugins

https://clusterhq.com/blog/powerstrip-prototype-docker-extensions-today/

New York

Fire up your first container today!

Ride the Whale!

Learning• http://docs.docker.com/• http://slideshare.net/chanezon• https://github.com/chanezon/azure-linux

We’re hiring!

https://www.docker.com/company/careers/

103

References• talk about cloud platforms: Managing complexity in giant systems

http://www.slideshare.net/chanezon/tackling-complexity-in-giant-systems-approaches-from-several-cloud-providers

• talk about Devops, the Microsoft Wayhttp://www.slideshare.net/chanezon/devops-the-microsoft-way

• MS Open Tech https://msopentech.com/ Blog, VM Depot• P@ Linux on Azure pages https://github.com/chanezon/azure-linux/• Tim’s CoreOS tutorial https://github.com/timfpark/coreos-azure• Tim’s Deis documentation • @jpetazzo’s presentations http://www.slideshare.net/jpetazzo/• @bcantrill’s deck http://www.slideshare.net/bcantrill/docker

-and-the-future-of-containers-in-production• @vieux deck on Swarm • @htchen deck on Mesos + Swarm

https://speakerdeck.com/tnachen/docker-swarm-plus-mesos

Q&A