SlideShare a Scribd company logo
DEV TO DELIVERY WITH
PUPPET, VAGRANT AND AWS
SAM BASHTON, BASHTON LTD
Dev to Delivery with Puppet, Vagrant and AWS
ABOUT ME
Linux guy since Slackware, floppy disks and root + boot
Using Puppet since 2007
Run a company in Manchester, North West England
We provide outsourced ops for other companies
TOOLS FOR THE DAY
WHAT IS THE POINT OF THIS
TALK?
Dev to Delivery with Puppet, Vagrant and AWS
WHAT WE HAVE
Dev
Integration
QA
Stage
Live
WHICH ENVIRONMENTS ARE
MANAGED BY PUPPET?
Dev
Integration
QA
Stage
Live
WHAT WE'RE AFTER
Confidence that everything will work correctly in
production
Consistency between environments
OPS AND DEVS COOPERATING
Previously:
Devs built stuff
Later, Ops came and built production infrastructure
This caused many IT problems
The solution?
OPSVELOPMENT
OPS AND DEVS WORKING
TOGETHER
Ops need to be involved in development planning process
Puppet modules and manifests should be selected/built as
part of the development process
DEVELOP ON PUPPET
PROVISIONED
ENVIRONMENTS
As early as possible, all dev should be done on systems
built from Puppet
Puppet manifests get tested as part of the development
process
VAGRANT
Builds virtual machines, optionally from Puppet manifests
Makes it easy to spin up short-lived dev instances
Quick to get working
Avoid ops being a blocker for dev
A WORKFLOW
Development happens on Vagrant VM(s)
Deployment to all shared environments happens via
Jenkins
PUPPET CONFIG
There should be only one set of Puppet
manifests/modules
Tested deployed and merged through software test
environments
ONE SET OF MANIFESTS,
MANY ENVIRONMENTS
Different environments need different config
Resource locations
Settings
DEALING WITH DIFFERENT
ENVIRONMENTS
Hiera
Removes the need for ugly if/else blocks
Put anything that differers by environment in a separate
file
Can encrypt with hiera-gpg if data sensitive
HIERA.YAML
:irrh:
heacy
-%evrnet
{niomn}
-cmo
omn
VAGRANTFILE
VgatcniueVGATIEAIVRIN d |ofg
arn.ofgr(ARNFL_P_ESO) o cni|
cni.mbx="ets4lc
ofgv.o
cno6-x"
cni.mhsnm ="uptofeape
ofgv.otae
ppecn-xml"
cni.mpoiin:uptd |upt
ofgv.rvso ppe o ppe|
ppe.aiet_ah
uptmnfsspt
="uptmnfss
ppe/aiet"
ppe.aietfl
uptmnfs_ie
="iep"
st.p
ppe.ouept
uptmdl_ah
="uptmdls
ppe/oue"
ppe.ir_ofgpt ='uptheaym'
uptheacni_ah
ppe/ir.al
ppe.pin = [-evrnet,"oadv]
uptotos > "-niomn" lcle"
ed
n
ed
n
TO DEVELOP:
Start of the day, dev runs v g a t u and gets the latest
arn p
environment
Code/objects sit in a shared vagrant volume
End of the day, or when new Puppet manifests/modules
are available, v g a t d s r yis run
arn eto
VAGRANT PROVISIONERS
Avoid VirtualBox wherever possible
Slow, prone to taking down host machine
On Linux, vagrant-lxc is speedy
VMWare Fusion for non-free fruit-based Unix
VAGRANT AND AWS
Use Vagrant to bring up machines in AWS using
v g a t a splugin
arn-w
Makes it easy to share work in progress
Means VirtualBox doesn't crash your laptop
Has cost implications
QA/STAGING
ENVIRONMENTS IN AWS
Merge to appropriate branch in git
Jenkins takes over
ADVANTAGE OF AWS
Great thing about AWS - we don't need to run our test
environments all the time
Have the environments only when you need them
TESTING VS LIVE
Use the money saved to build better environments
Minimise differences between testing and live
In particular, test on environments with relevant HA as
early as possible
Dev to Delivery with Puppet, Vagrant and AWS
Dev to Delivery with Puppet, Vagrant and AWS
SPEEDING UP THE PROCESS
Some resources, in particular DBs can be slow to provision
(30 mins plus)
Could just run 24/7
One approach: pilot light provisioning
Dev to Delivery with Puppet, Vagrant and AWS
Dev to Delivery with Puppet, Vagrant and AWS
PILOT LIGHT PROVISIONING
Tiers built using autoscaling groups
Minimum instance count is 0
Jenkins sets desired capacity appropriately on deploy
Reset to 0 via a recurring scheduled operation on ASG
and/or Jenkins job
CONCLUSIONS
Infrastructure development should run in parallel to
software dev
This means devs + ops must co-operate
Minimise differences from production at all stages
If a dev can't see the problem in their environment,
you're much more likely to get woken up by it
QUESTIONS? COMMENTS?
Sam Bashton
sam@bashton.com
Twitter: @bashtoni
(Psst.. http://www.bashton.com/jobs/ )
REFERENCES, LINKS
Vagrant
vagrant-lxc
hiera-gpg
Masterless Puppet + AWS

More Related Content

PDF
The State of Puppet - Dan Bode
PDF
Containerised Testing at Demonware : PyCon Ireland 2016
PDF
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12
PPT
Puppet at DemonWare - Ruaidhri Power - Puppetcamp Dublin '12
PDF
PuppetCamp SEA 1 - The State of Puppet
PDF
Docker and Puppet — Puppet Camp L.A. — SCALE12X
ODP
It Works On My Machine: Vagrant for Software Development
PDF
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
The State of Puppet - Dan Bode
Containerised Testing at Demonware : PyCon Ireland 2016
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12
Puppet at DemonWare - Ruaidhri Power - Puppetcamp Dublin '12
PuppetCamp SEA 1 - The State of Puppet
Docker and Puppet — Puppet Camp L.A. — SCALE12X
It Works On My Machine: Vagrant for Software Development
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment

What's hot (20)

PDF
Locally it worked! virtualizing docker
PDF
Vagrant + Ansible + Docker
PDF
Puppet and Telefonica R&D
PDF
Continuous delivery with jenkins, docker and exoscale
PDF
Joomla Continuous Delivery with Docker
PDF
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
PDF
Docker Workshop Birthday #3
PPTX
Development with Vagrant
PDF
Continuously-Integrated Puppet in a Dynamic Environment
PDF
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
PDF
DevOps and Drupal
PDF
Using Docker with Puppet - PuppetConf 2014
PPTX
Vagrant to-aws-flow
PDF
DevOps: Using Vagrant to Enhance Your Day to Day Development
PDF
Automating Docker Containers with Puppet 2014 10-13
PPTX
Learn docker in 90 minutes
PPTX
Vagrant vs Docker
PDF
Turbocharged Java with Quarkus | JakartaOne Livestream
PPTX
Introduction to node.js By Ahmed Assaf
PDF
Vagrant for real (codemotion rome 2016)
Locally it worked! virtualizing docker
Vagrant + Ansible + Docker
Puppet and Telefonica R&D
Continuous delivery with jenkins, docker and exoscale
Joomla Continuous Delivery with Docker
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Docker Workshop Birthday #3
Development with Vagrant
Continuously-Integrated Puppet in a Dynamic Environment
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
DevOps and Drupal
Using Docker with Puppet - PuppetConf 2014
Vagrant to-aws-flow
DevOps: Using Vagrant to Enhance Your Day to Day Development
Automating Docker Containers with Puppet 2014 10-13
Learn docker in 90 minutes
Vagrant vs Docker
Turbocharged Java with Quarkus | JakartaOne Livestream
Introduction to node.js By Ahmed Assaf
Vagrant for real (codemotion rome 2016)
Ad

Similar to Dev to Delivery with Puppet, Vagrant and AWS (20)

PDF
Vagrant+Puppet = #WIN
PDF
Application Deployment on Openstack
PDF
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
PDF
Dev to Delivery with Puppet - PuppetConf 2014
PPTX
OpenStack vagrant & dashboard
ODP
OWASP WTE - Now in the Cloud!
ODP
Vagrant and puppet: Deployment made easy
PDF
Can I Contain This?
PDF
Puppet and Vagrant in development
PPTX
A Fabric/Puppet Build/Deploy System
PPTX
Node.js, Vagrant, Chef, and Mathoid @ Benetech
PDF
Security Testing Using Infrastructure-As-Code
PDF
Developing web apps
PDF
Corwin on Containers
PPTX
Baylisa - Dive Into OpenStack
ODP
Continuous deployment-at-flipkart
PPTX
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
PDF
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
DOCX
Muraliupdatedpersonal091215
PPTX
PaaSing Your Code Around
Vagrant+Puppet = #WIN
Application Deployment on Openstack
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Dev to Delivery with Puppet - PuppetConf 2014
OpenStack vagrant & dashboard
OWASP WTE - Now in the Cloud!
Vagrant and puppet: Deployment made easy
Can I Contain This?
Puppet and Vagrant in development
A Fabric/Puppet Build/Deploy System
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Security Testing Using Infrastructure-As-Code
Developing web apps
Corwin on Containers
Baylisa - Dive Into OpenStack
Continuous deployment-at-flipkart
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
Muraliupdatedpersonal091215
PaaSing Your Code Around
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
A Presentation on Artificial Intelligence
PDF
Encapsulation theory and applications.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Cloud computing and distributed systems.
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
A Presentation on Artificial Intelligence
Encapsulation theory and applications.pdf
Modernizing your data center with Dell and AMD
Dropbox Q2 2025 Financial Results & Investor Presentation
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Big Data Technologies - Introduction.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Cloud computing and distributed systems.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
NewMind AI Monthly Chronicles - July 2025
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
Chapter 3 Spatial Domain Image Processing.pdf
Advanced methodologies resolving dimensionality complications for autism neur...

Dev to Delivery with Puppet, Vagrant and AWS