Puppet is an open source configuration management tool that can be used to automate infrastructure and ensure consistency across environments. It uses a declarative language to define system configurations and relationships between components. Puppet has been used to manage over 50,000 systems across various industries and can scale from a few servers to thousands without additional training. It aims to bring stability, agility, and security to infrastructure management through automation and centralization.
23. Puppet Users Scaled from 0 to over 10,000 servers in 2 months without training 287 servers per SysAdmin vs. 19 for BMC BladeLogic Over 50,000 systems managed by Puppet Deploy 1,800 machines in 2 hours vs. 25 machines per day with HP Opsware Financial Entertainment Technology Defense Web Mobile Phone Company
58. Relationships matter but are often implicit Package Service Service should restart when configuration changes 30 Configuration 30 Configuration should get modifed after package installation
67. REPORTING Detail of node status to pinpoint specific issues High-level status of nodes for instant visibility Time-based display for insight into rate of change
69. RESOURCE BROWSING Choose nodes to clone to ensure consistency Preview the impact before you clone nodes Browse for managed nodes in your infrastructure
70. COMPLIANCE Accept or reject changes to update your baseline See specific differences between node configurations
Smallest companies require it 19k software developers, 12k apps Competitive advantage for some shops
Choose technology, process, priority, timing Important for stability Bottleneck for progress
... Monitoring sucks Shell/perl Backups Printers?
We value our tools and processes Open a ticket Cover page on TPS report
“ I don ’ t need to know why ”
Surgeons and pilots follow process Change Management Can you get confidence without process?
The future is already here (Gibson)
Commercial tools built for the execs OSS built for the toolbuilders, or maybe advanced users We needed a tool that everyone could use
We make decisions for you 1000 knobs Brain, complexity blah blah blah Complexity through building blocks, rather than big things
Fundamental technology that everyone could build on
Fear that the world would still look the same in 10 years - after all, it hadn ’ t changed much in the previous 10 - rsh to ssh, but... Embarrassment at how bad the state of IT was Hatred of thinking SSH was a management tool
We don ’ t want no-ops, we want pervasive ops, accessible ops
Platonic ideal of a machine
Full ruby DSL
Do you really care how RPM works? Full simulation mode Discovery, diff, and change Easily extensible Lots of custom types
Every half an hour How change progresses through your infrastructure Explain: Facts Catalog Report
Agent on all of your nodes Optional master for compilation, reporting, etc. - with no central master, no reporting - compilation can be distributed for load reasons Dashboard is reporting Forge for code sharing Lots and lots of data All modes share the same code paths
We ’ ll come back to abstraction
This is shareable, releasable code. Classes are analogous with tags
We ’ re doing the same thing with different commands on different platforms
Complete stack Built, tested, supported by us Full OSS releases Multiple extra applications Free to 10 nodes