PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- Tricia Radcliffe, AppDynamics & Grace Andrews, Puppet
What’s in the box?!: Leveraging
Puppet Enterprise and Docker
Grace Andrews + Tricia Radcliffe
Sales Engineer
Puppet
Sales Engineer
AppDynamics
Agenda
What is Puppet => Automating Infrastructure for CI/CD
Why use Puppet
What is Docker => Moving to Containers
Why use Docker
How do we Build => Ship => Run from Puppet
Puppet Docker Build
Puppet Docker Run
QUESTIONS
The Puppet Show
Let’s talk about automation!
Automate for speed, reliability and security
Define with a common
language
Gain situational
awareness
Orchestrate change
intelligently
Ensure security &
compliance
What’s needed to deliver and operate modern software simply, at scale and securely
Across devices, through the stack
Puppet Master
Windows
Server Linux
Server
Network
Device
Puppet Architecture
How Puppet Works
1. Define your desired state
2. Simulate configuration4. Report
3. Enforce configuration
service { ‘ntpd’:
ensure => running,
enable => true,
subscribe => File[‘/etc/ntp.conf’],
}
1. Read the Puppet code and
compile a catalog of every
configuration and the
relationships between them
2. Deliver the catalog to the node
3. Based on the catalog, determine
the order in which to enforce the
desired state
4. Report on what changes, if any,
took place
How Puppet Works
Anatomy of a Run
2.
Catalog
3.
Report
1.
Facts
Packaging + out-of-the-box scalability
User interface
Open Source Puppet
Role-based
access control
Visualization
& reporting
Orchestration
Supported modules
Supported platform
Service Training Support
Integrations
Puppet Enterprise Overview
Docker Time
Let’s talk about containers!
Docker Architecture
What is a Container?
● Standardized packaging for
software and dependencies
● Isolate apps from each other
● Share the same OS Kernel
● Works for all major Linux
distributions
● Containers native to Windows
Server 2016
Containers are not VMs
● Isolated namespaces
● Shared resources
● Quick to boot
● Smaller footprint
CONTAINERS
● Isolated resources
● Full OS + App
● Longer to boot
● Larger footprint
VMs
Different but not mutually exclusive
Some Docker Vocabulary
Docker Image
The basis of a Docker container. Represents a full application
Docker Container
The standard unit in which the application service resides and executes
Docker Engine
Creates, ships and runs Docker containers deployable on a physical or virtual, host
locally, in a datacenter or cloud service provider
Registry Service (Docker Hub or Docker Trusted Registry)
Cloud or server based storage and distribution service for your images
Docker Community Edition
Ideal for developers and small teams.
Supported on Desktops, Cloud, Open Source
OS
•The latest Docker version with integrated tooling to
build, test and run container apps
•Available for free with software maintenance for the
latest shipping version
•Integrated and optimized for developer desktops,
Linux servers and clouds.
Docker Enterprise Overview
Build, Ship, Run Workflow
Developers IT Operations
BUILD
Development Environments
SHIP
Create & Store Images
RUN
Deploy, Manage, Scale
Dockerfiles
What is a Dockerfile?
• Instructions on how to build
a Docker image
• Looks very similar to
“native” commands
• With image_build module
you do not have to know
how to create a Dockerfile
Foraging in the Forge
puppetlabs/docker_platform
● installs, configures, and
manages the Docker daemon
and Docker containers.
puppetlabs/image_build
● Builds Docker images from
current puppet code.
Puppetconf Repo
● Module that has the examples
we used to build a docker image
and puppet files to run docker
containers.
Modules to use
**module dependencies will be downloaded automatically IF you download from the CLI
What’s Happening
DEMO
Docker Commands
# list images available on Docker Host
docker image ls
# show running containers on Docker Host
docker container ps
# run a container
docker run –d –p 8069:80 --name puppet-nginx tchung02/puppet-nginx
# stop a container
docker container stop <container id>
# upload image to Docker Hub
docker push tchung02/puppet-nginx:3.0
RECAP
1. Set Up Puppet Deployment
a. Stand up master + agents
b. download modules
c. clone Puppetconf repo.
d. puppetlabs/image_build
e. Builds Docker images from
current puppet code.
f. Puppetconf Repo
g. Module that deploys a container
running a ….
What did we do?
**module dependencies will be downloaded automatically IF you download from the CLI
Honorable Mentions
Scott Coulton => Docker Capt. (AUS), Software Eng. @Puppet
‘Zero to Kubernetes’ => Thu., Oct 12, 3:15pm
Scott’s Blog Post => https://scottydoesntknow.io/puppet-loves-docker/
Gert Drapers => VP Engineering Cloud, Containers, Discovery & Insights @ Puppet
‘State of Union: Containers at Puppet’ => Thu., Oct 12, 11:45am
Jeremy Adams => 2015 Docker Demo; Puppet Senior SE Manager
Mike G. Coleman => Docker 101 Catweb Repo
Rilindo F. => Linux Academy How-To
Jesus Garcia => Puppet City
Sean Techavatnavisal => Puppet SE
Mark Wilkerson => Software Engineer @ Twitch/Amazon

More Related Content

PPT
Amazon Web Services and Docker
PDF
Docker on Google App Engine
PPTX
Docker intro
PDF
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
PDF
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
PDF
Introduction to Docker Compose | Docker Intermediate Workshop
PDF
Docker for Devs - John Zaccone, IBM
PDF
Intro to Docker
Amazon Web Services and Docker
Docker on Google App Engine
Docker intro
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
From Zero Docker to Hackathon Winner - Marcos Lilljedahl and Jimena Tapia
Introduction to Docker Compose | Docker Intermediate Workshop
Docker for Devs - John Zaccone, IBM
Intro to Docker

What's hot (20)

PPTX
Docker and stuff
PPTX
PPTX
Integration with Docker and .NET Core
PPTX
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
PPTX
Introduction to docker
PPTX
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
PDF
Taking Docker to Production: What You Need to Know and Decide
PPTX
How to be successful running Docker in Production
PDF
Node.js Rocks in Docker for Dev and Ops
PDF
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
PPTX
CI, CD with Docker, Jenkins and Tutum
PDF
Azure Meetup Stuttgart - Multi-arch Docker images
PDF
Docker for Ops - Scott Coulton, Puppet
PPTX
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
PDF
PDF
Introduction to Docker
PDF
OpenStack - Docker - Rackspace HQ
PDF
Docker Continuous Delivery Workshop
PPTX
Docker 101 Checonf 2016
PDF
Docker presentation | Paris Docker Meetup
Docker and stuff
Integration with Docker and .NET Core
Containers #101 : Docker ONBUILD triggers and Introduction to Docker Compose
Introduction to docker
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Taking Docker to Production: What You Need to Know and Decide
How to be successful running Docker in Production
Node.js Rocks in Docker for Dev and Ops
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
CI, CD with Docker, Jenkins and Tutum
Azure Meetup Stuttgart - Multi-arch Docker images
Docker for Ops - Scott Coulton, Puppet
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Introduction to Docker
OpenStack - Docker - Rackspace HQ
Docker Continuous Delivery Workshop
Docker 101 Checonf 2016
Docker presentation | Paris Docker Meetup
Ad

Similar to PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- Tricia Radcliffe, AppDynamics & Grace Andrews, Puppet (20)

PDF
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
PPTX
Getting Started with Docker
PDF
Puppet Camp Chicago 2014: Docker and Puppet: 1+1=3 (Intermediate)
PDF
Docker and Puppet — Puppet Camp L.A. — SCALE12X
PPTX
Containerization using docker and its applications
PPTX
Containerization using docker and its applications
PPTX
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
PDF
[@NaukriEngineering] Docker 101
PPTX
Java developer intro to environment management with vagrant puppet and docker
PDF
Introduction to Docker - VIT Campus
PPTX
Introduction to automated environment management with Docker Containers - for...
PDF
An Introduction To Docker
PPTX
Docker and kubernetes
PDF
Docker From Scratch
PDF
Docker interview Questions-1.pdf
PDF
Using Docker with Puppet - PuppetConf 2014
PDF
Automating Docker Containers with Puppet 2014 10-13
PDF
Docker slides
PDF
Agile Brown Bag - Vagrant & Docker: Introduction
PDF
Introduction to Docker - Vellore Institute of Technology
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Getting Started with Docker
Puppet Camp Chicago 2014: Docker and Puppet: 1+1=3 (Intermediate)
Docker and Puppet — Puppet Camp L.A. — SCALE12X
Containerization using docker and its applications
Containerization using docker and its applications
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
[@NaukriEngineering] Docker 101
Java developer intro to environment management with vagrant puppet and docker
Introduction to Docker - VIT Campus
Introduction to automated environment management with Docker Containers - for...
An Introduction To Docker
Docker and kubernetes
Docker From Scratch
Docker interview Questions-1.pdf
Using Docker with Puppet - PuppetConf 2014
Automating Docker Containers with Puppet 2014 10-13
Docker slides
Agile Brown Bag - Vagrant & Docker: Introduction
Introduction to Docker - Vellore Institute of Technology
Ad

More from Puppet (20)

PPTX
Puppet Community Day: Planning the Future Together
PPTX
The Evolution of Puppet: Key Changes and Modernization Tips
PPTX
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
PPTX
Bolt Dynamic Inventory: Making Puppet Easier
PPTX
Customizing Reporting with the Puppet Report Processor
PPTX
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
PPTX
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
PPTX
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
PDF
Puppet camp2021 testing modules and controlrepo
PPTX
Puppetcamp r10kyaml
PDF
2021 04-15 operational verification (with notes)
PPTX
Puppet camp vscode
PDF
Modules of the twenties
PDF
Applying Roles and Profiles method to compliance code
PPTX
KGI compliance as-code approach
PDF
Enforce compliance policy with model-driven automation
PDF
Keynote: Puppet camp compliance
PPTX
Automating it management with Puppet + ServiceNow
PPTX
Puppet: The best way to harden Windows
PPTX
Simplified Patch Management with Puppet - Oct. 2020
Puppet Community Day: Planning the Future Together
The Evolution of Puppet: Key Changes and Modernization Tips
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Bolt Dynamic Inventory: Making Puppet Easier
Customizing Reporting with the Puppet Report Processor
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Puppet camp2021 testing modules and controlrepo
Puppetcamp r10kyaml
2021 04-15 operational verification (with notes)
Puppet camp vscode
Modules of the twenties
Applying Roles and Profiles method to compliance code
KGI compliance as-code approach
Enforce compliance policy with model-driven automation
Keynote: Puppet camp compliance
Automating it management with Puppet + ServiceNow
Puppet: The best way to harden Windows
Simplified Patch Management with Puppet - Oct. 2020

Recently uploaded (20)

PPTX
Microsoft Excel 365/2024 Beginner's training
PPTX
Modernising the Digital Integration Hub
PPTX
2018-HIPAA-Renewal-Training for executives
PPTX
Configure Apache Mutual Authentication
PDF
UiPath Agentic Automation session 1: RPA to Agents
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
The various Industrial Revolutions .pptx
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Flame analysis and combustion estimation using large language and vision assi...
PPT
Geologic Time for studying geology for geologist
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Five Habits of High-Impact Board Members
PDF
sbt 2.0: go big (Scala Days 2025 edition)
Microsoft Excel 365/2024 Beginner's training
Modernising the Digital Integration Hub
2018-HIPAA-Renewal-Training for executives
Configure Apache Mutual Authentication
UiPath Agentic Automation session 1: RPA to Agents
OpenACC and Open Hackathons Monthly Highlights July 2025
A review of recent deep learning applications in wood surface defect identifi...
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
Enhancing emotion recognition model for a student engagement use case through...
Developing a website for English-speaking practice to English as a foreign la...
The various Industrial Revolutions .pptx
Taming the Chaos: How to Turn Unstructured Data into Decisions
sustainability-14-14877-v2.pddhzftheheeeee
Flame analysis and combustion estimation using large language and vision assi...
Geologic Time for studying geology for geologist
A comparative study of natural language inference in Swahili using monolingua...
Getting started with AI Agents and Multi-Agent Systems
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Five Habits of High-Impact Board Members
sbt 2.0: go big (Scala Days 2025 edition)

PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- Tricia Radcliffe, AppDynamics & Grace Andrews, Puppet

  • 2. What’s in the box?!: Leveraging Puppet Enterprise and Docker Grace Andrews + Tricia Radcliffe Sales Engineer Puppet Sales Engineer AppDynamics
  • 3. Agenda What is Puppet => Automating Infrastructure for CI/CD Why use Puppet What is Docker => Moving to Containers Why use Docker How do we Build => Ship => Run from Puppet Puppet Docker Build Puppet Docker Run QUESTIONS
  • 4. The Puppet Show Let’s talk about automation!
  • 5. Automate for speed, reliability and security Define with a common language Gain situational awareness Orchestrate change intelligently Ensure security & compliance What’s needed to deliver and operate modern software simply, at scale and securely Across devices, through the stack
  • 7. How Puppet Works 1. Define your desired state 2. Simulate configuration4. Report 3. Enforce configuration service { ‘ntpd’: ensure => running, enable => true, subscribe => File[‘/etc/ntp.conf’], }
  • 8. 1. Read the Puppet code and compile a catalog of every configuration and the relationships between them 2. Deliver the catalog to the node 3. Based on the catalog, determine the order in which to enforce the desired state 4. Report on what changes, if any, took place How Puppet Works
  • 9. Anatomy of a Run 2. Catalog 3. Report 1. Facts
  • 10. Packaging + out-of-the-box scalability User interface Open Source Puppet Role-based access control Visualization & reporting Orchestration Supported modules Supported platform Service Training Support Integrations Puppet Enterprise Overview
  • 11. Docker Time Let’s talk about containers!
  • 13. What is a Container? ● Standardized packaging for software and dependencies ● Isolate apps from each other ● Share the same OS Kernel ● Works for all major Linux distributions ● Containers native to Windows Server 2016
  • 14. Containers are not VMs ● Isolated namespaces ● Shared resources ● Quick to boot ● Smaller footprint CONTAINERS ● Isolated resources ● Full OS + App ● Longer to boot ● Larger footprint VMs
  • 15. Different but not mutually exclusive
  • 16. Some Docker Vocabulary Docker Image The basis of a Docker container. Represents a full application Docker Container The standard unit in which the application service resides and executes Docker Engine Creates, ships and runs Docker containers deployable on a physical or virtual, host locally, in a datacenter or cloud service provider Registry Service (Docker Hub or Docker Trusted Registry) Cloud or server based storage and distribution service for your images
  • 17. Docker Community Edition Ideal for developers and small teams. Supported on Desktops, Cloud, Open Source OS •The latest Docker version with integrated tooling to build, test and run container apps •Available for free with software maintenance for the latest shipping version •Integrated and optimized for developer desktops, Linux servers and clouds.
  • 19. Build, Ship, Run Workflow Developers IT Operations BUILD Development Environments SHIP Create & Store Images RUN Deploy, Manage, Scale
  • 20. Dockerfiles What is a Dockerfile? • Instructions on how to build a Docker image • Looks very similar to “native” commands • With image_build module you do not have to know how to create a Dockerfile
  • 21. Foraging in the Forge puppetlabs/docker_platform ● installs, configures, and manages the Docker daemon and Docker containers. puppetlabs/image_build ● Builds Docker images from current puppet code. Puppetconf Repo ● Module that has the examples we used to build a docker image and puppet files to run docker containers. Modules to use **module dependencies will be downloaded automatically IF you download from the CLI
  • 23. DEMO
  • 24. Docker Commands # list images available on Docker Host docker image ls # show running containers on Docker Host docker container ps # run a container docker run –d –p 8069:80 --name puppet-nginx tchung02/puppet-nginx # stop a container docker container stop <container id> # upload image to Docker Hub docker push tchung02/puppet-nginx:3.0
  • 25. RECAP 1. Set Up Puppet Deployment a. Stand up master + agents b. download modules c. clone Puppetconf repo. d. puppetlabs/image_build e. Builds Docker images from current puppet code. f. Puppetconf Repo g. Module that deploys a container running a …. What did we do? **module dependencies will be downloaded automatically IF you download from the CLI
  • 26. Honorable Mentions Scott Coulton => Docker Capt. (AUS), Software Eng. @Puppet ‘Zero to Kubernetes’ => Thu., Oct 12, 3:15pm Scott’s Blog Post => https://scottydoesntknow.io/puppet-loves-docker/ Gert Drapers => VP Engineering Cloud, Containers, Discovery & Insights @ Puppet ‘State of Union: Containers at Puppet’ => Thu., Oct 12, 11:45am Jeremy Adams => 2015 Docker Demo; Puppet Senior SE Manager Mike G. Coleman => Docker 101 Catweb Repo Rilindo F. => Linux Academy How-To Jesus Garcia => Puppet City Sean Techavatnavisal => Puppet SE Mark Wilkerson => Software Engineer @ Twitch/Amazon