O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Docker In Production Now
Justin Clayton, March 2015
ThisPresentationMayNotBeForYouIf:
• Youalreadycontainerizedabsolutelyeverything
• YouarerunningKubernetesand/orMesospherei...
ButForTheRestOfUs
Existinginfrastructure
tomaintain
Extensivelibraryof
configuration
managementrecipes
Existing
CI/CDSystem
PerceptionthatDocker
isonlyforthecoolkids
Ihateyou,Windows.
Whyareyoustillhere?
WhyDoWeCare
AboutDocker?
ToSolveBusiness
Problems!
Agility,Flexibility,
Stability
HowdoIsolvemy
immediateproblemswhile
stillbuildingforthefuture?
PrepareForTheFuture
InstallDocker
Everywhere
--insecure-registry=0.0.0.0/0
StartReplacingParts
Drop-InReplacements!
Example:Rediscaching
$ docker run redis
Problems:
• Productionconfig?
• Deploy?
• Managerunningcontainer?
Solution:
LeverageYourCM!
ShowExample
CodeNow
Recap!InsteadOfDoingThis:
• writingacustomconfig
• compilingourownRedisfromsource
• packagingitintoanRPM
• hostingitonanin...
Nowwe’redoingthis:
• writingourcustomconfig
• runningthelatestofficialrediscontainer
Nowwe’redoingthis:
• writingourcustomconfig
• runningthelatestofficialrediscontainer
WIN
OtherGoodApplianceExamples
• Gitlab
• Hubot
• Jenkins
• HAPRoxy
Whatdidwewin?
• ReducedCMcodebase
• Simplifiedupdateprocess
• Appliancesdirectfromthevendor
Buildandshipyourownstuff
Devwants:
morefreedom
Opswants:
lessvariation
Immutable
Infrastructure
Oneapproach:givedevs
fullcontrolovertheir
images
Devgets:
completefreedom
Opsgets:
infinitysnowflakes
Devsoftendon't
knowsystems
Standardizedon
JVMlanguages
IfyoucanbuildaJAR,
wecandeployit
Devgets:
alittlefreedom
Opsgets:
lessvariation
Standard
AppPackaging
Standard
DeployProcess
Devgets:
completefreedom
Opsgets:
nosnowflakes!
ReinventingCI/CD
canbehigh-cost
Don'tRefactorIn
TheRed
Thecontaineristhe
buildartifact
Thecontaineristhe
unitofdeployment
Startbyreplacing
onlythosethings
Drop-In
Replacements!
ShowExampleCodeNow
Recap!Wenowhave:
• AtemplatefordockerbuildsinCI
• EvenlessCMcodenow
• Cleanerdeploys
Whatwedidn'ttouch
• Loadbalancing
• Deploymentstrategy(A/Bfarm,etc.)
• Multi-tenancyofcontainers
• Servicediscovery
Thanks For Coming
Justin Clayton
@justinclayton42
github.com/justinclayton
Docker In Production Now: Seattle Docker Meetup March 2015
Docker In Production Now: Seattle Docker Meetup March 2015
Docker In Production Now: Seattle Docker Meetup March 2015
Docker In Production Now: Seattle Docker Meetup March 2015
Docker In Production Now: Seattle Docker Meetup March 2015
Docker In Production Now: Seattle Docker Meetup March 2015
Próximos SlideShares
Carregando em…5
×

Docker In Production Now: Seattle Docker Meetup March 2015

1.083 visualizações

Publicada em

Docker In Production Now: Seattle Docker Meetup March 2015.

This is a baby steps approach to getting Docker in production for an existing enterprise that does not always have the luxury of a complete greenfield.

Publicada em: Tecnologia

Docker In Production Now: Seattle Docker Meetup March 2015

  1. 1. Docker In Production Now Justin Clayton, March 2015
  2. 2. ThisPresentationMayNotBeForYouIf: • Youalreadycontainerizedabsolutelyeverything • YouarerunningKubernetesand/orMesosphereinprod • YouareadevandyoudeployexclusivelytoaPaaS • Yourcompanywasfoundedearliertoday
  3. 3. ButForTheRestOfUs
  4. 4. Existinginfrastructure tomaintain
  5. 5. Extensivelibraryof configuration managementrecipes
  6. 6. Existing CI/CDSystem
  7. 7. PerceptionthatDocker isonlyforthecoolkids
  8. 8. Ihateyou,Windows. Whyareyoustillhere?
  9. 9. WhyDoWeCare AboutDocker?
  10. 10. ToSolveBusiness Problems!
  11. 11. Agility,Flexibility, Stability
  12. 12. HowdoIsolvemy immediateproblemswhile stillbuildingforthefuture?
  13. 13. PrepareForTheFuture
  14. 14. InstallDocker Everywhere
  15. 15. --insecure-registry=0.0.0.0/0
  16. 16. StartReplacingParts
  17. 17. Drop-InReplacements! Example:Rediscaching
  18. 18. $ docker run redis
  19. 19. Problems: • Productionconfig? • Deploy? • Managerunningcontainer?
  20. 20. Solution: LeverageYourCM!
  21. 21. ShowExample CodeNow
  22. 22. Recap!InsteadOfDoingThis: • writingacustomconfig • compilingourownRedisfromsource • packagingitintoanRPM • hostingitonaninternalpackagerepo • hackingcommunityPuppetmodulestogetittouseour versionandconfig
  23. 23. Nowwe’redoingthis: • writingourcustomconfig • runningthelatestofficialrediscontainer
  24. 24. Nowwe’redoingthis: • writingourcustomconfig • runningthelatestofficialrediscontainer WIN
  25. 25. OtherGoodApplianceExamples • Gitlab • Hubot • Jenkins • HAPRoxy
  26. 26. Whatdidwewin? • ReducedCMcodebase • Simplifiedupdateprocess • Appliancesdirectfromthevendor
  27. 27. Buildandshipyourownstuff
  28. 28. Devwants: morefreedom
  29. 29. Opswants: lessvariation
  30. 30. Immutable Infrastructure
  31. 31. Oneapproach:givedevs fullcontrolovertheir images
  32. 32. Devgets: completefreedom
  33. 33. Opsgets: infinitysnowflakes
  34. 34. Devsoftendon't knowsystems
  35. 35. Standardizedon JVMlanguages
  36. 36. IfyoucanbuildaJAR, wecandeployit
  37. 37. Devgets: alittlefreedom
  38. 38. Opsgets: lessvariation
  39. 39. Standard AppPackaging
  40. 40. Standard DeployProcess
  41. 41. Devgets: completefreedom
  42. 42. Opsgets: nosnowflakes!
  43. 43. ReinventingCI/CD canbehigh-cost
  44. 44. Don'tRefactorIn TheRed
  45. 45. Thecontaineristhe buildartifact
  46. 46. Thecontaineristhe unitofdeployment
  47. 47. Startbyreplacing onlythosethings
  48. 48. Drop-In Replacements!
  49. 49. ShowExampleCodeNow
  50. 50. Recap!Wenowhave: • AtemplatefordockerbuildsinCI • EvenlessCMcodenow • Cleanerdeploys
  51. 51. Whatwedidn'ttouch • Loadbalancing • Deploymentstrategy(A/Bfarm,etc.) • Multi-tenancyofcontainers • Servicediscovery
  52. 52. Thanks For Coming Justin Clayton @justinclayton42 github.com/justinclayton

×