SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
Beyond Golden Containers
Complementing Docker with Puppet
David Lutterkort
@lutterkort
lutter@puppetlabs.com
Brief Interlude:
What even is
Configuration ?
Any	
  input	
  to	
  infrastructure	
  is	
  
configura)on
Configura3on	
  management:	
  
	
  managing	
  those	
  inputs	
  
over	
  )me	
  
at	
  scale
Configura3on	
  management:	
  
	
  managing	
  those	
  inputs	
  
over	
  )me	
  
at	
  scale
Configura3on	
  management:	
  
	
  managing	
  those	
  inputs	
  	
  
over	
  3me	
  
at	
  scale
Gareth	
  Rushgrove	
  	
  	
  	
  	
  	
  
http://northshorekid.com/event/campfire-stories-marini-farm
http://www.partialhospitalization.com/2010/08/363/
lang en_US.UTF-8
keyboard us
…
rootpw --iscrypted $1$uw6MV$m6VtUWPed4SqgoW6fKfTZ/
part / --size 1024 --fstype ext4 --ondisk sda
repo --name=fedora —mirrorlist=…
repo --name=updates —mirrorlist=…
%packages
@core
%end
%post
curl http://example.com/the-script.pl | /usr/bin/perl
What’s	
  that	
  machine	
  doing	
  ?
What's	
  that	
  container	
  doing	
  ?
FROM fedora:20
MAINTAINER scollier <scollier@redhat.com>
RUN yum -y update && yum clean all
RUN yum -y install couchdb && yum clean all
RUN sed 
-e 's/^bind_address = .*$/bind_address = 0.0.0.0/' 
-i /etc/couchdb/default.ini
ADD local.ini /etc/couchdb/local.ini
EXPOSE 5984
CMD ["/bin/sh", "-e", "/usr/bin/couchdb",
"-a", "/etc/couchdb/default.ini",
"-a", "/etc/couchdb/local.ini",
"-b", "-r", "5", "-R"]
http://www.gcksa.com/en/
Puppet	
  from	
  10,000	
  feet
Puppet	
  Control	
  Loop
class webserver {


package { 'httpd':

ensure => latest

} ->



file { '/etc/httpd/conf.d/local.conf':

ensure => file,

mode => 644,

source => 'puppet:///modules/httpd/local.conf',

} ->



service { 'httpd':

ensure => running,

enable => true,

subscribe => File['/etc/httpd/conf.d/local.conf'],

}
}
A	
  basic	
  manifest
class webserver2 inherits webserver {



File['/etc/httpd/conf.d/local.conf'] {

source => 'puppet:///modules/httpd/other-local.conf',

}



}

Override	
  via	
  inheritance
Managing	
  a	
  Docker	
  host
Gareth	
  Rushgrove’s	
  module:	
  	
  
	
  	
  	
  	
  https://forge.puppetlabs.com/garethr/docker	
  
• Install	
  docker	
  
• Manage	
  images	
  
• Run	
  containers	
  
• Version	
  3.3.2	
  just	
  released
class { 'docker':

tcp_bind => 'tcp://127.0.0.1:4243',

socket_bind => 'unix:///var/run/docker.sock',
version => latest

}

Setting	
  up	
  Docker
docker::image { 'ubuntu':

image_tag => 'precise'

}

Pulling	
  down	
  images
docker::image { 'ubuntu':

docker_file => ‘/tmp/Dockerfile’

}

Pulling	
  down	
  images
docker::image { 'ubuntu':

docker_dir => ‘/tmp/ubuntu_image’

}

Pulling	
  down	
  images
docker::run { 'appserver2':

image => 'fedora:20',

command => '/usr/sbin/init',

ports => ['80', '443'],

links => ['mysql:db'],

use_name => true,

volumes => ['/var/lib/couchdb',
'/var/log'],

volumes_from => 'appserver1',

memory_limit => 10485760, # bytes 

username => 'appy',

hostname => 'app2.example.com',

env => ['FOO=BAR', 'FOO2=BAR2'],

dns => ['8.8.8.8', ‘8.8.4.4']
}
Running	
  containers
docker::exec { ‘helloworld-uptime':

detached => true,

command => '/usr/bin/uptime',

container => 'helloworld',

tty => true,

}
Running	
  containers
Image	
  Building
Dockerfile	
  for	
  puppet	
  apply
FROM fedora:20

MAINTAINER James Turnbull <james@lovedthanlost.net>



ADD modules /tmp/modules

RUN yum -y install puppet; 

puppet apply --modulepath=/tmp/modules 
-e "class { 'nginx': service_ensure => disable }”; 
rm -rf /tmp/modules



EXPOSE 80

CMD ["nginx"]

> puppet docker build --name lutter/myimage base.pp
Containers	
  aren’t	
  everything
Not	
  everything	
  is	
  a	
  container
FROM fedora:20

MAINTAINER David Lutterkort <lutter@watzmann.net>



ADD puppet /tmp/puppet-docker



RUN yum -y install puppet; 

/tmp/puppet-docker/bin/puppet-docker

Dockerfile	
  for	
  puppet	
  agent
> tree puppet
puppet/
├── bin
│ └── puppet-docker
├── config.yaml
└── ssl
├── agent-cert.pem
├── agent-private.pem
├── agent-public.pem
└── ca.pem
Support	
  files
> cat puppet/config.yaml
---

certname: docker.example.com
server: puppet-master.example.com

facts:

container: docker

build: true

Configure	
  agent	
  run
FROM fedora:20

MAINTAINER David Lutterkort <lutter@watzmann.net>



ADD puppet /tmp/puppet-docker



RUN yum -y install puppet; 

/tmp/puppet-docker/bin/puppet-docker

Dockerfile	
  for	
  puppet	
  agent
> puppet docker build --name lutter/myimage
The	
  Road	
  Ahead
Docker	
  Swarm
Docker	
  Machine
Container	
  at	
  Runtime
Correlate	
  Images	
  and	
  Instances
Links
• Manage	
  container	
  hosts	
  with

	
  	
  	
  	
  https://forge.puppetlabs.com/garethr/docker	
  
• Sample	
  materials	
  for	
  puppet agent	
  etc.	
  at

	
  	
  	
  	
  https://github.com/lutter/puppet-­‐docker	
  
• Working	
  examples	
  
https://github.com/garethr/puppet-­‐docker-­‐example	
  
https://github.com/garethr/puppet-­‐docker-­‐vnext-­‐example
Questions	
  ?

Contenu connexe

Tendances

Environments line-up! Vagrant & Puppet 101
Environments line-up! Vagrant & Puppet 101Environments line-up! Vagrant & Puppet 101
Environments line-up! Vagrant & Puppet 101
jelrikvh
 
Beyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with PuppetBeyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with Puppet
lutter
 
Complementing Docker with Puppet
Complementing Docker with PuppetComplementing Docker with Puppet
Complementing Docker with Puppet
Docker, Inc.
 
Running hadoop on ubuntu linux
Running hadoop on ubuntu linuxRunning hadoop on ubuntu linux
Running hadoop on ubuntu linux
TRCK
 

Tendances (20)

Puppet HackDay/BarCamp New Delhi Exercises
Puppet HackDay/BarCamp New Delhi ExercisesPuppet HackDay/BarCamp New Delhi Exercises
Puppet HackDay/BarCamp New Delhi Exercises
 
puppet @techlifecookpad
puppet @techlifecookpadpuppet @techlifecookpad
puppet @techlifecookpad
 
Clojure + MongoDB on Heroku
Clojure + MongoDB on HerokuClojure + MongoDB on Heroku
Clojure + MongoDB on Heroku
 
Environments line-up! Vagrant & Puppet 101
Environments line-up! Vagrant & Puppet 101Environments line-up! Vagrant & Puppet 101
Environments line-up! Vagrant & Puppet 101
 
Dev ops
Dev opsDev ops
Dev ops
 
От sysV к systemd
От sysV к systemdОт sysV к systemd
От sysV к systemd
 
How to ride a whale
How to ride a whaleHow to ride a whale
How to ride a whale
 
Beyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with PuppetBeyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with Puppet
 
PFIセミナー資料 H27.10.22
PFIセミナー資料 H27.10.22PFIセミナー資料 H27.10.22
PFIセミナー資料 H27.10.22
 
Memory Management in WordPress
Memory Management in WordPressMemory Management in WordPress
Memory Management in WordPress
 
Learning the command line
Learning the command lineLearning the command line
Learning the command line
 
First there was the command line
First there was the command lineFirst there was the command line
First there was the command line
 
Complementing Docker with Puppet
Complementing Docker with PuppetComplementing Docker with Puppet
Complementing Docker with Puppet
 
Conquering the Command Line
Conquering the Command LineConquering the Command Line
Conquering the Command Line
 
What we-don't-know
What we-don't-knowWhat we-don't-know
What we-don't-know
 
pam_container -- jeszcze lżejsza wirtualizacja
pam_container -- jeszcze lżejsza wirtualizacjapam_container -- jeszcze lżejsza wirtualizacja
pam_container -- jeszcze lżejsza wirtualizacja
 
Running hadoop on ubuntu linux
Running hadoop on ubuntu linuxRunning hadoop on ubuntu linux
Running hadoop on ubuntu linux
 
Docker command
Docker commandDocker command
Docker command
 
Clase4 (consola linux)
Clase4 (consola linux)Clase4 (consola linux)
Clase4 (consola linux)
 
OSS AWS 핸즈온 강의
OSS AWS 핸즈온 강의OSS AWS 핸즈온 강의
OSS AWS 핸즈온 강의
 

En vedette

Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
lutter
 

En vedette (11)

Challenges of container configuration
Challenges of container configurationChallenges of container configuration
Challenges of container configuration
 
Apache Deltacloud (Linuxcon 2010)
Apache Deltacloud (Linuxcon 2010)Apache Deltacloud (Linuxcon 2010)
Apache Deltacloud (Linuxcon 2010)
 
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
 
Orchestration and the New York Subway
Orchestration and the New York SubwayOrchestration and the New York Subway
Orchestration and the New York Subway
 
Puppetconf 2013: Razor - provision like a boss
Puppetconf 2013: Razor - provision like a bossPuppetconf 2013: Razor - provision like a boss
Puppetconf 2013: Razor - provision like a boss
 
Appmgmt cfgmgmtcamp-2015
Appmgmt cfgmgmtcamp-2015Appmgmt cfgmgmtcamp-2015
Appmgmt cfgmgmtcamp-2015
 
Razor: provision like a boss (Build-a-cloud edition)
Razor: provision like a  boss (Build-a-cloud edition)Razor: provision like a  boss (Build-a-cloud edition)
Razor: provision like a boss (Build-a-cloud edition)
 
Aeolus - Clouds Flying in Assembly
Aeolus - Clouds Flying in AssemblyAeolus - Clouds Flying in Assembly
Aeolus - Clouds Flying in Assembly
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous Integration
 
Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014
 
Configuration Changes Don't Have to be Scary: Testing with containers
Configuration Changes Don't Have to be Scary: Testing with containersConfiguration Changes Don't Have to be Scary: Testing with containers
Configuration Changes Don't Have to be Scary: Testing with containers
 

Similaire à Beyond Golden Containers: Complementing Docker with Puppet

Similaire à Beyond Golden Containers: Complementing Docker with Puppet (20)

Docker security
Docker securityDocker security
Docker security
 
Docker practice
Docker practiceDocker practice
Docker practice
 
Docker, c'est bonheur !
Docker, c'est bonheur !Docker, c'est bonheur !
Docker, c'est bonheur !
 
Things I've learned working with Docker Support
Things I've learned working with Docker SupportThings I've learned working with Docker Support
Things I've learned working with Docker Support
 
Harmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and PuppetHarmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and Puppet
 
Puppet Camp Chicago 2014: Docker and Puppet: 1+1=3 (Intermediate)
Puppet Camp Chicago 2014: Docker and Puppet: 1+1=3 (Intermediate)Puppet Camp Chicago 2014: Docker and Puppet: 1+1=3 (Intermediate)
Puppet Camp Chicago 2014: Docker and Puppet: 1+1=3 (Intermediate)
 
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
 
Simple docker hosting in FIWARE Lab
Simple docker hosting in FIWARE LabSimple docker hosting in FIWARE Lab
Simple docker hosting in FIWARE Lab
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
Docker
DockerDocker
Docker
 
Hands-On Session Docker
Hands-On Session DockerHands-On Session Docker
Hands-On Session Docker
 
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
JDO 2019: Tips and Tricks from Docker Captain - Łukasz LachJDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
 
DCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker CaptainsDCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker Captains
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
 
Docker container management
Docker container managementDocker container management
Docker container management
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Introducing Docker
Introducing DockerIntroducing Docker
Introducing Docker
 
005 skyeye
005 skyeye005 skyeye
005 skyeye
 

Dernier

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Dernier (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 

Beyond Golden Containers: Complementing Docker with Puppet

Notes de l'éditeur

  1. /me ~ 1.5 years at PL, before at Red Hat provisioning → Razor Puppet contributions back to 2006 Augeas
  2. Who has used Docker ? New (~ 2 years) Best way to use How do tools/processes need to change ? Gives ppl most of what they really wanted from virt Immutable artifact + application isolation
  3. Research from the 1950’s
  4. not just single node traditional: package/file/service … non-traditional: cloud resources network devices
  5. manage all of it openssl update -> restart http sshd_config update -> restart sshd
  6. one time setup is easy audit changes predict effect of changes
  7. 3 machines are easy 30 are hard 3000 impossible w/o tooling not solved by containers, problem just shifts
  8. Puppet since 2006 What did people do before then ?
  9. Configuration through Documents Word/txt/XML PITA → Golden Image
  10. Perl script that does everything Consulting: Perl → Puppet Brittle Problematic with large numbers
  11. custom DSL who knows globally what is in containers ?
  12. ops complaint: no idea what is in containers they deploy
  13. Who’s used/using Puppet ?
  14. “What makes it special? What is secret sauce? Why is this a superior approach?”
  15. Infrastructure as Code
  16. Other customization mechanisms: Class parameters Data injection (Hiera) Modules
  17. also: NC
  18. ~ 2800 modules ~ 1000 authors
  19. Abstraction of multi-machine API Plumb into docker module ECS/GCE/Kubernetes
  20. Easy way to get VM/instance with Docker up and running Digital Ocean/EC2/Azure/GCP/desktop dirt Integrate with Puppet mgmt
  21. Puppet for ‘personalization’ of container Puppet for auditing Several possible approaches Oneshot at container launch run cron or init + puppetd one agent per host
  22. Reporting/auditing