SlideShare a Scribd company logo
Getting it right from the start with Puppet
Modern Infrastructure
From Scratch
Senior DevOps Engineer at Ecetera
simon.kp@ecetera.com.au
eskp almost everywhere else
Who am I
Overview
● Define, model and provision new infrastructure
● Establish an efficient development workflow
● Get familiar with some of the Puppet concepts
Why automate infrastructure?
● Consistently Repeatable and Portable
● Efficient
● Captured Effort
● Executable/Live Self-Documentation
Define Modern Infrastructure
● Infrastructure Automation (VirtualBox+Vagrant)
● Version Control (Git+Gitlab)
● Configuration Management (Puppet)
● Test + Deployment Automation (Jenkins+r10k)
● Centralised Log Aggregation (ELK stack)
● Monitoring (Sensu)
Infrastructure Model
The code
Two repositories:
● Vagrant repo https://github.com/Ecetera/puppet-vagrant
● Control repo https://github.com/Ecetera/puppet-control
Puppet Roles & Profiles
Resources > Classes > Modules > Profiles > Role > Node
Allow the business to manage how the infrastructure
looks without defining what it is
Data is abstracted by Hiera
Roles definition
# site/role/manifests/init.pp
class role::git {
include profile::jenkins
include profile::rabbit
include profile::mco::client
}
...
Profiles definition
# site/profile/manifests/init.pp
class profile::jenkins {
class { '::jenkins': }
jenkins::job { 'puppet-control': }
create_resources(jenkins::credentials, hiera('jenkins_credentials'))
}
...
Nodeless Classification
# site.pp
node default {
hiera_include(‘role’)
}
Hiera overview
---
# /etc/puppet/hiera.yaml
:yaml:
:datadir: “/etc/puppet/environments/%{::environment}/data”
:hierarchy:
- “%{::hostname}”
Hiera overview
---
# data/puppet.yaml
role:
- role::puppetserver
apache::default_vhost: false
...
Don’t write modules unless you absolutely have to.
Modules
Look for modules
● Puppet Labs approved and supported
● Lots of downloads
● No weird dependencies
● Documentation
● Source is on Github
Module Deployment
r10k - manages modules defined in Puppetfile
Deploys Puppet’s dynamic directory environments
based on puppet-control repo’s git branches
Does not resolve modules dependencies
Puppetfile
mod ‘puppetlabs/ntp’, ‘3.2.1’
mod ‘rabbitmq’,
:git => https://github.com/puppetlabs/puppetlabs-rabbitmq.git,
:commit => '15e2421048a3495e60482837910441a1248bf6f0'
...
Demonstration
http://puppet.eskp.net:5000 Puppetboard view of Puppet
infrastructure
http://control.eskp.net:9090 Jenkins
http://log.eskp.net Kibana dashboard for centralised logs access
http://mon.eskp.net:3000 Uchiwa dashboard overview of Sensu
Todo
● Write infrastructure tests
● Address scale
● Provision with puppetlabs-aws module
● Upgrade to Puppet 4
Questions?
simon.kp@ecetera.com.au (eskp)
“Modern Infrastructure From Scratch”

More Related Content

PDF
Puppet Camp Paris 2015: Continuous Integration of Puppet Code (Intermediate)
PDF
Puppet Camp Berlin 2015: Andrea Giardini | Configuration Management @ CERN: G...
PDF
Puppet in the Pipeline
PDF
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
PDF
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
PDF
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
PDF
CI/CD Using Ansible and Jenkins for Infrastructure
PPTX
Vagrant to-aws-flow
Puppet Camp Paris 2015: Continuous Integration of Puppet Code (Intermediate)
Puppet Camp Berlin 2015: Andrea Giardini | Configuration Management @ CERN: G...
Puppet in the Pipeline
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
CI/CD Using Ansible and Jenkins for Infrastructure
Vagrant to-aws-flow

What's hot (20)

PDF
Getting started with puppet and vagrant (1)
PDF
.NET on Linux: Entity Framework Core 1.0
PDF
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
PDF
DrupalCon Los Angeles - Continuous Integration Toolbox
PDF
Killer R10K Workflow - PuppetConf 2014
PDF
Masterless puppet
PDF
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
PDF
Leveraging Ansible for CI/CD
PPT
Learn basic ansible using docker
PDF
Drupal contrib module maintaining
PPTX
MoldCamp - multidimentional testing workflow. CIBox.
PDF
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibana
PDF
Portland PUG April 2014: Beaker 101: Acceptance Test Everything
PDF
GlassFish Embedded API
PDF
CIbox - OpenSource solution for making your #devops better
PDF
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
PDF
Live deployment, ci, drupal
ODP
It Works On My Machine: Vagrant for Software Development
PDF
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
PDF
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Getting started with puppet and vagrant (1)
.NET on Linux: Entity Framework Core 1.0
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
DrupalCon Los Angeles - Continuous Integration Toolbox
Killer R10K Workflow - PuppetConf 2014
Masterless puppet
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Leveraging Ansible for CI/CD
Learn basic ansible using docker
Drupal contrib module maintaining
MoldCamp - multidimentional testing workflow. CIBox.
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibana
Portland PUG April 2014: Beaker 101: Acceptance Test Everything
GlassFish Embedded API
CIbox - OpenSource solution for making your #devops better
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Live deployment, ci, drupal
It Works On My Machine: Vagrant for Software Development
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Ad

Viewers also liked (20)

PPTX
Reversing malware analysis training part3 windows pefile formatbasics
PDF
Neuigkeiten von DEPAROM & Co
PPT
Introduction to smpc
PDF
Evolution of OPNFV CI System: What already exists and what can be introduced
PPTX
You know, for search
PPTX
Persistence in the cloud with bosh
PDF
AWS + Puppet = Dynamic Scale
PPTX
Security For Humans
PPT
Een Gezond Gebit2
PDF
Yirgacheffe Chelelelktu Washed Coffee 2015
PPTX
What does "monitoring" mean? (FOSDEM 2017)
PDF
Business selectors
PDF
Java standards in WCM
PDF
Sunbrella Ottomans by Outdoor Elegance
PDF
Application Deployment at UC Riverside
PDF
Aws + Puppet = Dynamic Scale
PPTX
CloudStack EU user group - Trillian
PDF
Apostila De Dispositivos EléTricos
PDF
The Lost Tales of Platform Design (February 2017)
Reversing malware analysis training part3 windows pefile formatbasics
Neuigkeiten von DEPAROM & Co
Introduction to smpc
Evolution of OPNFV CI System: What already exists and what can be introduced
You know, for search
Persistence in the cloud with bosh
AWS + Puppet = Dynamic Scale
Security For Humans
Een Gezond Gebit2
Yirgacheffe Chelelelktu Washed Coffee 2015
What does "monitoring" mean? (FOSDEM 2017)
Business selectors
Java standards in WCM
Sunbrella Ottomans by Outdoor Elegance
Application Deployment at UC Riverside
Aws + Puppet = Dynamic Scale
CloudStack EU user group - Trillian
Apostila De Dispositivos EléTricos
The Lost Tales of Platform Design (February 2017)
Ad

Similar to Modern Infrastructure from Scratch with Puppet (20)

PDF
Deploying Kubernetes without scaring off your security team - KubeCon 2017
DOCX
Devops training at futurepointtech.com
PDF
Deploy a full cncf based observability stack in under 5 minutes with tobs
PPTX
What's new in Docker - InfraKit - Docker Meetup Berlin 2016
PDF
Productionizing Machine Learning - Bigdata meetup 5-06-2019
PDF
Running Apache Spark Jobs Using Kubernetes
PDF
Puppet Keynote: Puppet Camp London
PPTX
Puppet and docker
PPTX
Meet Puppet's new product lineup 12/7/2017
PDF
Deploy 22 microservices from scratch in 30 mins with GitOps
PDF
Infrastructure as code
PDF
OpenStack API's and WSGI
PPTX
Intro to Spring Boot and Spring Cloud OSS - Twin Cities Cloud Foundry Meetup
PDF
Top 9 DevOps Tools: Which DevOps Tool Should I Learn
PPTX
Hot to build continuously processing for 24/7 real-time data streaming platform?
PDF
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
PDF
Puppet overview
PDF
Red Hat Enteprise Linux Open Stack Platfrom Director
PDF
Kash Kubernetified
PPTX
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
Deploying Kubernetes without scaring off your security team - KubeCon 2017
Devops training at futurepointtech.com
Deploy a full cncf based observability stack in under 5 minutes with tobs
What's new in Docker - InfraKit - Docker Meetup Berlin 2016
Productionizing Machine Learning - Bigdata meetup 5-06-2019
Running Apache Spark Jobs Using Kubernetes
Puppet Keynote: Puppet Camp London
Puppet and docker
Meet Puppet's new product lineup 12/7/2017
Deploy 22 microservices from scratch in 30 mins with GitOps
Infrastructure as code
OpenStack API's and WSGI
Intro to Spring Boot and Spring Cloud OSS - Twin Cities Cloud Foundry Meetup
Top 9 DevOps Tools: Which DevOps Tool Should I Learn
Hot to build continuously processing for 24/7 real-time data streaming platform?
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Puppet overview
Red Hat Enteprise Linux Open Stack Platfrom Director
Kash Kubernetified
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs

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
L1 - Introduction to python Backend.pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
AI in Product Development-omnex systems
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Transform Your Business with a Software ERP System
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
top salesforce developer skills in 2025.pdf
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Softaken Excel to vCard Converter Software.pdf
L1 - Introduction to python Backend.pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
AI in Product Development-omnex systems
PTS Company Brochure 2025 (1).pdf.......
Transform Your Business with a Software ERP System
Operating system designcfffgfgggggggvggggggggg
Which alternative to Crystal Reports is best for small or large businesses.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
top salesforce developer skills in 2025.pdf
Online Work Permit System for Fast Permit Processing
Internet Downloader Manager (IDM) Crack 6.42 Build 41
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Upgrade and Innovation Strategies for SAP ERP Customers
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Odoo Companies in India – Driving Business Transformation.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Softaken Excel to vCard Converter Software.pdf

Modern Infrastructure from Scratch with Puppet