SlideShare a Scribd company logo
Multi-tenant Puppet
Automation for everyone
JJ
John Jawed, github.com./johnj
Dogs, anything with an ocean
3
Gap up
Gap up
Linear
Exponential
Change
function of time
2014
118,000 hosts
13,000 environments
fewer puppetmasters
baremetal, VM, containers
Cha-cha-cha-changes
unavoidable
happen everywhere
Oops
changes does not always go according to plan
48 minutes
Goals
performance & scale
policy
seamless on boarding
Bottlenecks? Try giving up.
capacity, abilities
paradigms (epoll vs select)
insanity
Classification Catalog Reports/Facts
average puppet run 8 seconds
Classification
node_terminus = /enc_script.rb
320ms - loading gems, files, certs
only 100ms for API call to ENC
Optimize: ENC run time as close to 100ms as
possible
Classification
paradigm shift
from
exec /enc_script.rb fqdn
to
write fqdn to ENC workers
Classification
a little dash of bash
node_terminus = /enc_handler.sh
$ cat enc_handler.sh!
...!
echo $1 | nc -U /unix.sock!
...!
Classification
a little go go
William Kennedy’s workpool
(github.com./goinggo/workpool)
go server listening on /unix.sock
workpool routes requests to an idle
worker
Classification
exec/exit to listen/process
$ cat /enc_script.rb!
…!
while certname = $stdin.gets do!
enc(certname)!
end!
…!
Classification
PPM calls node_terminus
node_terminus writes request
to socket
go handles request, workpool
routes
Classification
end result
gets close to 100ms goal – 110ms
CPU usage – no constant bootstrapping
frees up resources, puppet master process
at scale, 200ms per run adds up quickly (30 for
every 60 seconds of CPU time)
catalogs
Catalog compilation – low hanging fruit, difficult
Catalog
source: http://www.isrubyfastyet.com
agents
everything is SSL, that is good
everything is SSL, that is expensive
use yum.puppetlabs.com. or apt.puppetlabs.com.
to make sure you run 3.7+
runtime savings: 40%
Catalog
post run woes
after agent runs, the real fun begins
puppetmaster and agent both wait for
report processors to finish
slow report collection will cause your
infrastructure to fall over – some just avoid it
Reports/Facts
foreman
foreman report/fact processing – need to spread
read I/O
fact processing is read heavy, reports are write
heavy
ruby activerecord: makara
postgresql: local read slaves, pg_shard
Reports/Facts
reports
4k run reports per minute
using pg_shard:
psql> SELECT master_create_distributed_table(table_name := ’reports',
partition_column := ‘report_id');
psql> SELECT master_create_worker_shards(table_name := ‘reports',
shard_count := 365);
Reports/Facts
facts
most of the workload is read I/O, kept local
facts updated immediately after puppet runs
Master DB loadavg 2
Reports/Facts
Classification Catalog Reports/Facts
average puppet run 2 seconds
runinterval is not your friend
pvc
Open source, github.com./johnj/pvc
Basis of orchestration in 2014
pvc
pvc.conf
pvc
host_endpoint=your.pvcbackend.com./host !
!
simple is hard
“Simple can be harder than complex: You have
to work hard to get your thinking clean to make
it simple. But it’s worth it in the end because
once you get there, you can move mountains.”
- Steve Jobs
Host Infrastructure
Host events
most systems have audit frameworks
files (inotify)
processes (audit)
network
puppet needs react to these events
osquery
osquery
services, files, and any resource that can be
tracked as a host event
event information can also be recorded (doorman,
zentral, etc)
event info is stored in tables (sqlite)
file monitoring
{!
"file_paths": {!
"homes": [!
"/root/.ssh/%%",!
"/home/%/.ssh/%%"!
],!
”binaries": [!
"/usr/bin/%%",!
"/sbin/%%"!
],!
"etc": [!
"/etc/%%"!
],!
"tmp": [!
"/tmp/%%"!
]!
}!
}!
Infrastructure events
code releases, package upgrades,
access changes
puppet needs to be told to run when these
events occur
pvc and foreman
foreman’s puppetrun API to set flag
pvc queries foreman to trigger run
logical separation with host groups
runinterval is an after thought
puppet runs instantly when it needs to
runinterval can be 3 minutes or 3 hours
frees up puppet masters, allows more resources
for other things
your infrastructure is still kept honest
git
PuppetConf 2016: Multi-Tenant Puppet at Scale – John Jawed, eBay, Inc.
I pummel people with questions, because I need to know
what they're thinking, what they're trying to achieve, what
they believe the final outcome is going to be.
Tim Gunn
PuppetConf 2016: Multi-Tenant Puppet at Scale – John Jawed, eBay, Inc.

More Related Content

PDF
Puppet Development Workflow
Jeffery Smith
 
PPTX
Cyansible
Alan Norton
 
PDF
Superb Supervision of Short-lived Servers with Sensu
Paul O'Connor
 
PDF
The Puppet Master on the JVM - PuppetConf 2014
Puppet
 
PDF
DevOps in a Regulated World - aka 'Ansible, AWS, and Jenkins'
rmcleay
 
PDF
Steamlining your puppet development workflow
Tomas Doran
 
PDF
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Puppet
 
PDF
Ansible 2 and Ansible Galaxy 2
Jeff Geerling
 
Puppet Development Workflow
Jeffery Smith
 
Cyansible
Alan Norton
 
Superb Supervision of Short-lived Servers with Sensu
Paul O'Connor
 
The Puppet Master on the JVM - PuppetConf 2014
Puppet
 
DevOps in a Regulated World - aka 'Ansible, AWS, and Jenkins'
rmcleay
 
Steamlining your puppet development workflow
Tomas Doran
 
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Puppet
 
Ansible 2 and Ansible Galaxy 2
Jeff Geerling
 

What's hot (20)

PDF
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet
 
PDF
Ansible and AWS
Peter Sankauskas
 
PPTX
Docker ansible-make-chef-puppet-unnecessary-minnihan
jbminn
 
PDF
Running trusted payloads with Nomad and Waypoint
Bram Vogelaar
 
PDF
High Available Drupal
Bram Vogelaar
 
PPTX
Monitor-Driven Development Using Ansible
Itamar Hassin
 
PDF
Deploy Nodejs on Docker
Will Button
 
PDF
Ansible Crash Course
Peter Sankauskas
 
PDF
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Puppet
 
PDF
How Ansible Makes Automation Easy
Peter Sankauskas
 
PPTX
Html5 devconf nodejs_devops_shubhra
Shubhra Kar
 
PDF
Ansible for beginners ...?
shirou wakayama
 
PDF
Ansible Intro - June 2015 / Ansible Barcelona User Group
Orestes Carracedo
 
PDF
What's Special About Elixir
Neven Rakonić
 
PDF
Ansible Case Studies
Greg DeKoenigsberg
 
PDF
[231] the simplicity of cluster apps with circuit
NAVER D2
 
PDF
Continuous Testing with Molecule, Ansible, and GitHub Actions
Jeff Geerling
 
ODP
Introduction to Python Celery
Mahendra M
 
PDF
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
Puppet
 
PDF
Test Driven Development with Puppet - PuppetConf 2014
Puppet
 
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet
 
Ansible and AWS
Peter Sankauskas
 
Docker ansible-make-chef-puppet-unnecessary-minnihan
jbminn
 
Running trusted payloads with Nomad and Waypoint
Bram Vogelaar
 
High Available Drupal
Bram Vogelaar
 
Monitor-Driven Development Using Ansible
Itamar Hassin
 
Deploy Nodejs on Docker
Will Button
 
Ansible Crash Course
Peter Sankauskas
 
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Puppet
 
How Ansible Makes Automation Easy
Peter Sankauskas
 
Html5 devconf nodejs_devops_shubhra
Shubhra Kar
 
Ansible for beginners ...?
shirou wakayama
 
Ansible Intro - June 2015 / Ansible Barcelona User Group
Orestes Carracedo
 
What's Special About Elixir
Neven Rakonić
 
Ansible Case Studies
Greg DeKoenigsberg
 
[231] the simplicity of cluster apps with circuit
NAVER D2
 
Continuous Testing with Molecule, Ansible, and GitHub Actions
Jeff Geerling
 
Introduction to Python Celery
Mahendra M
 
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
Puppet
 
Test Driven Development with Puppet - PuppetConf 2014
Puppet
 
Ad

Similar to PuppetConf 2016: Multi-Tenant Puppet at Scale – John Jawed, eBay, Inc. (20)

PPTX
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet
 
PDF
Puppet Camp London 2014: Keynote
Puppet
 
PDF
Puppet Camp Tokyo 2014: Keynote
Puppet
 
PDF
Puppet Camp Chicago 2014: Running Multiple Puppet Masters (Beginner)
Puppet
 
PDF
Puppet Camp Dallas 2014: Puppet Keynote
Puppet
 
PDF
Puppet Camp Boston 2014: Keynote
Puppet
 
PDF
Puppet Camp DC 2014: Keynote
Puppet
 
PDF
Михаил Щербаков - Нестандартное использование Puppet в деплойменте
Yandex
 
PDF
Puppet Keynote by Ralph Luchs
NETWAYS
 
ODP
Puppet slides for intelligrape
Sharad Aggarwal
 
PDF
Puppet Camp New York Keynote
Puppet
 
PDF
Puppet in the Pipeline
Puppet
 
PPT
State of Puppet 2013 - Puppet Camp DC
Puppet
 
PDF
SCM Puppet: from an intro to the scaling
Stanislav Osipov
 
PDF
Puppet overview
joshbeard
 
PDF
Puppet Keynote
Puppet
 
PDF
Puppet Camp Chicago 2014: Keynote
Puppet
 
PDF
Scaling to-5000-nodes
Philip Watts
 
PDF
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet
 
PPTX
Managing and Scaling Puppet - PuppetConf 2014
Puppet
 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet
 
Puppet Camp London 2014: Keynote
Puppet
 
Puppet Camp Tokyo 2014: Keynote
Puppet
 
Puppet Camp Chicago 2014: Running Multiple Puppet Masters (Beginner)
Puppet
 
Puppet Camp Dallas 2014: Puppet Keynote
Puppet
 
Puppet Camp Boston 2014: Keynote
Puppet
 
Puppet Camp DC 2014: Keynote
Puppet
 
Михаил Щербаков - Нестандартное использование Puppet в деплойменте
Yandex
 
Puppet Keynote by Ralph Luchs
NETWAYS
 
Puppet slides for intelligrape
Sharad Aggarwal
 
Puppet Camp New York Keynote
Puppet
 
Puppet in the Pipeline
Puppet
 
State of Puppet 2013 - Puppet Camp DC
Puppet
 
SCM Puppet: from an intro to the scaling
Stanislav Osipov
 
Puppet overview
joshbeard
 
Puppet Keynote
Puppet
 
Puppet Camp Chicago 2014: Keynote
Puppet
 
Scaling to-5000-nodes
Philip Watts
 
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet
 
Managing and Scaling Puppet - PuppetConf 2014
Puppet
 
Ad

More from Puppet (20)

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

Recently uploaded (20)

PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 

PuppetConf 2016: Multi-Tenant Puppet at Scale – John Jawed, eBay, Inc.