docker: redistributing devops cards, on the way to paas

36
www.usievents.com #USI2014 Docker : Redistributing DevOps cards, on the way to PaaS 16th june, 2014 Arnaud MAZIN DevOps consultant Octo Technology @ArnaudMazin Adrien BLIND DevOps coach @adrienblind

Upload: adrien-blind

Post on 14-Apr-2017

716 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

Docker : Redistributing DevOps cards,on the way to PaaS

16th june, 2014Arnaud MAZIN

DevOps consultantOcto Technology@ArnaudMazin

Adrien BLINDDevOps coach@adrienblind

Page 2: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

Page 3: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

Page 4: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#1 What is Docker?

#2 Opportunities leveraged by Docker

#3 Take-away

Page 5: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#1 What is Docker?

#2 Opportunities leveraged by Docker

#3 Take-away

Page 6: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

« A technology enabling to standardize packaging and deployment operations »

Page 7: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#1 What is Docker ?Docker key properties

PO DI LI SORTABLE SPOSABLE VE CIAL

Page 8: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#1 What is Docker ?

PO DI LI SORTABLE SPOSABLE VE CIAL

(Almost)

Page 9: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

IsolationVirtualisation

PORTABLEDILISO

VM VMVM

Hypervisor

Hardware

App.

MDW

App.

MDW

App.

MDW

Kernel Kernel Kernel

OSbase

OSbase

OSbase

Kernel

Hardware or VM

Container

App.

OSbase

MDW

Container

App.

OSbase

MDW

Container

App.

MDW

OSbase

Page 10: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

PORTABLEDILISO

Limited adherence with the subsequent OSOnly a recent Linux kernel is requiredDocker lightweight agent to be installed

Few parametrization required

DB_IP=1.2.3.4DB_LOGIN=dblogin20Kg

Max

Page 11: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#1 What is Docker ?

PO DI LI SORTABLE SPOSABLE VE CIAL

Page 12: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

Rebuild vs Upgrade

PODISPOSABLELISO

Reduce building and deployment costs

Page 13: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

PODISPOSABLELISO

FROM ubuntu:latestRUN apt-get install -y memcachedEXPOSE 11211CMD ["/usr/bin/memcached"]USER daemon

Cattle vs Pet

Page 14: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

Using applicative storage servicesAmazon S3, OpenStack SwiftMongoDB, Hadoop, Cassandra, Elastic Search, Amazon RDS...

By default, you can leverage on traditional system

Containers dedicated to dataMounting points on the host

Extract data from the container

PODISPOSABLELISO

Page 15: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

Two major trendsFrequency of application deploymentsCommoditization and consumerization of the infrastructure (Low-cost/SLA)

High availability and scalability to be handled by the application better than the infrastructure

PODISPOSABLELISO

Impacts on application architecture

Page 16: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#1 What is Docker ?

PO DI LI SORTABLE SPOSABLE VE CIAL

Page 17: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

Versionned and incremental imagesFile systemConfiguration parameters (ports, processes...)

« Git style »DiffsVersion treesVersion labelling

PODILIVESO

Page 18: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

Layered FSCentOS base

Ubuntu baseapt-get install ruby

Installapp1 Add new

repo

apt-get install nginx

Add config

file yum install

openjdk

yum install

tomcat7

Install app2

Running cont.

ARunning

cont.D

Running cont.

B

Running cont.

C

PODILIVESO

Page 19: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#1 What is Docker ?

PO DI LI SORTABLE SPOSABLE VE CIAL

Page 20: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

Registries

PODILISOCIAL

Docker Hub

Console Registry

Collaboration tools

Automated build service

WebHooks DockerHub API

Community toolsPublic registriesVote for valuable imagesTrusted images« Official » images Continuous build tooling

Enterprise, private registries

Page 21: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#1 What is Docker ?Docker technology

Copy on Write storage

• AUFS• Device Mapper• Btrfs

Resources isolation

• LXC• cGroups,

namespaces• IpTables

DockerEngine API

Docker Engine

Major actorsDocker Hub

Page 22: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#1 What is Docker?

#2 Opportunities leveraged by Docker

#3 Take-away

Page 23: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#1 What is Docker?

#2 Opportunities leveraged by Docker

#2.1 Docker invented the CaaS

#2.2 Docker eases PaaS adoption

#3 Take-away

Page 24: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#2.1 Docker invented the CaaS

IaaSCapacity (VM, Stockage…)

PaaSApplication (code)

SaaSService

Page 25: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#2.1 Docker invented the CaaS

IaaSCapacity (VM, Stockage…)

PaaSAppli. (code)

SaaSService

CaaSApplicative containers

Page 26: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#2.1 Docker invented the CaaS

Apps teamIn the container

Ignore where the container run (dev computer, prod…)

Knows how to build the container and operate applications

“You build it, you run it!”

Infra teamOut of the container

Ignore how the container images are built

Knows how to deal with huge amount of containers

Page 27: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

Deploy

#2.1 Docker invented the CaaS [Apps Side]Continuous integration of Apps

« Build once,run everywhere »

Public registry Enterprise registry

Dev

SCM Soft. factory

TEST Container(s)

UAT Container(s)

PROD Container(s)

Test

Page 28: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

Internal or external offer from the enteprise

Whished propertiesDeal with IaaS topics (multi-host, multi-tenancy…)Expose an API enabling to manage containersExpose a transversal services API (load balancers, DNS, service directories such as ZooKeeper…)Integrate support functions (Manage accounting, billing...)

#2.1 Docker invented the CaaS [Ops Side]

Infrastructure offers an on-demand container service

Page 29: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

« Containerized » products

From the community registry to a real marketplace ?

#2.1 Docker invented the CaaS

Emergence of a virtual appliance offer

(Source: docker.io)

Page 30: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#1 What is Docker?

#2 Opportunities leveraged by Docker

#2.1 Docker invented the CaaS

#2.2 Docker eases PaaS adoption

#3 Take-away

Page 31: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#2.2 Docker eases PaaS adoption

Source code is the « real » portable content

Git PaaS

Pilote & push code

Docker may contribute off the hood

Page 32: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#2.2 Docker eases PaaS adoption

Several new initiatives leverage on DockerFlynn, Deis, OpenShift

Objective : propose a PaaS OpenSource solutionBy proposing an Heroku style interface (git push)By implementing their own Docker CaaS

Technical servicesDocker images ready to install «buildpacks»

Page 33: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#1 What is Docker?

#2 Opportunities leveraged by Docker

#3 Take-away

Page 34: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#3 Take-away

Combine both PaaS & CaaS approaches

PaaSCode

CaaS

Use both models to address all cases

Image

Page 35: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

#3 Take-away

Cloud DevOps

CaaS

PaaS

Continuous Delivery

Architecture

Organization

Time to market Qualité €

Opportunities

Page 36: Docker: Redistributing DevOps cards, on the way to PaaS

www.usievents.com #USI2014

Web giants already started to move on

Create you own Docker sandbox

Contribute to the community

#3 Take-away

The product gets mature, use it!