adrian mouat - docker: why, what, and for what? | codemotion milan 2015

39

Upload: codemotion

Post on 16-Apr-2017

833 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015
Page 2: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

ChiefScientist@ContainerSolutions

Writing"UsingDocker"forO'Reilly@adrianmouat

http://www.container-solutions.com

Page 3: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

WhatDockerisWhyit'ssopopularWhatthemainusecasesare

Page 4: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015
Page 5: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

BothprovideisolatedenvironmentsLargeoverlapinusecases

Page 6: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

NovirtualisationDockerismuchmoreefficient

BootsinunderasecondMuchsmallerimagesize

Developerorientedinterface

Page 7: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015
Page 8: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

ADockercontainerisaportablestoreforasinglecomponentanditsdependencies

Page 9: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015
Page 10: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

LikeastoppedVMBuiltfromDockerfilesListofrepeatablestepsRedisDockerfile

Page 11: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

RepositoryforimagesDistros

Centos,Debian,Alpine...Languages

Go,Java,C...Applications

Redis,Wordpress,RevealJS...

Page 12: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015
Page 13: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

ControlGroupsGroupstasksControlsresources

AppliesLimitsIsolatesAccountsfor

Page 14: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

ProcessFilesystemNetworkPlussomeothers

Page 15: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

LimitwhatacontainercandoRestrictkernelcalls

Page 16: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

Basisof"UnionFilesystem"ImagesmadeupofmulitplereadlayersContainersputar/wlayerontopOverlay,AUFS,ZFS,BTRFS,devicemapper...

Page 17: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015
Page 18: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

Jails,chroot,SolarisZones,VirtuozzoBorgLXC

Page 19: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

GluedtogethermissingpiecesFastandportableTargetteddevelopers

Page 20: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

ContainersbecomeunitofdevelopmentShippedbetweendev,testandprodWorksthesameeverywhereContainsdependenciesandenvironment

Page 21: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

VMstooslowandclunkyDeveloperinterfacelacking

Page 22: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

DevelopfasterTestfasterDeployfaster

Page 23: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015
Page 24: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015
Page 25: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

ConsistentenvironmentDeployfasterTestfasterMakesureyoushipwhatyoutest!

Page 26: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

SmallservicesthatdoonethingwellLooselycoupledAsopposedtomonolithsScale-outasopposedtoscale-up

Page 27: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

CansimplifysoftwareScaleonlyneededservicesEasiertochangeEasiertodistributeUsebesttoolforthejob

Page 28: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

Howtodividesystemintomicroservices?FastfunctioncallsbecomeslowRESTcalls

Page 29: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

Complexityismovedtonetwork

Page 30: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015
Page 31: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

GoldenimagesDon'tallowrunningcontainerstochangeInsteadreplacewithnewcontainersSimpler,noneedforCM

Page 32: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

Auditimages,notrunningcontainersCan'thavemovedfromimage

Page 33: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

NotyetconsideredassecureasVMsUsebothAddingisolation

Page 34: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015
Page 35: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

Patterns&BestPracticesSignals,logging,envvars,pods,sidecars,ambassadors...Stillbeingdeveloped

Page 36: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

Patterns&BestPracticesSignals,logging,envvars,pods,sidecars,ambassadors...Stillbeingdeveloped

OrchestrationBattlefield!Kubernetes,Mesos,Swarm?

Page 37: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

Patterns&BestPracticesSignals,logging,envvars,pods,sidecars,ambassadors...Stillbeingdeveloped

OrchestrationBattlefield!Kubernetes,Mesos,Swarm?

UnikernelsHugepotentialMayovertakecontainers

Page 38: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015

WhatAportablestoreforasinglecomponentanditsdependencies

WhyAgilityforthewin

WhatForMicroservicesCI/CDImmutableInfrastructure...

Page 39: Adrian Mouat - Docker: Why, What, and For What? | Codemotion Milan 2015