Puppet is an open source data center automation and configuration management framework. Puppet provides system administrators with a simplified platform that allows for consistent, transparent, and flexible systems management.
Puppet lets System Administrators spend less time on mundane tasks and instead focus on managing their infrastructure strategically.
Automated, repeatable, configuration management
Puppet’s declarative language describes your system configuration, allowing you to easily reproduce any configuration on any number of additional systems. Additionally, Puppet can help establish and enforce approved system configurations automatically correcting systems that drift from their baseline. Puppet provides an audit trail of all your systems, which can easily be kept in version control for compliance purposes.
Flexible, scalable architecture
Whether you have a small, heterogeneous network of user workstations or a cluster of rack-mounted number-crunchers, Puppet can help reduce your overhead and get the everyday management of your network under control so you can concentrate on the real problems.

Some of the key elements of Puppet include:
- Puppetmaster— centrally manage the configuration for thousands of nodes
- Dashboard — visualize, explore, and command your puppet infrastructure
- Secure infrastructure — avoid the hassles of SSH key deployment with our built in SSL-based public key infrastructure
- Puppet Modules — organize your puppet configuration into modules and draw on hundreds of free community-developed modules written by expert administrators
Take advantage of Puppet’s large, active, open source community
From the very beginning Puppet has had a large and active community that now includes over 1,600 users on the Puppet users email list. Whether you are new to Puppet and want help and advice or you are an experienced Puppet developer who wishes to contribute open source resources, the Puppet community is a great source of feedback and ideas for getting the most out of Puppet.
- Join the thousands of companies using puppet
- Participate in the large and actively engaged community
- Benefit from hundreds of community developed modules to manage all types of IT resources
- Find, download, and share modules using Puppet Forge
Cross–platform systems management
Organizations are increasingly taking advantage of Puppet’s support of a variety of operating systems. Whether you are supporting Linux (Red Hat, CentOS, Fedora, Debian, Ubuntu, SuSE), or Unix OS’es (Solaris, BSD, OS X), Puppet can fulfill your requirements. Although Puppet evolved primarily to support Unix-like OS’es, Windows support is planned in the near future.
Model your datacenter
Puppet uses a declarative, graph-based model. This allows for numerous very important properties that are unique to Puppet as a configuration management system.
- The user does not have to rely on error prone state transitions — Puppet will make your system look as desired, without needing to specify the commands needed to put it in that state relative to the current state.
- If there is ever a configuration management problem, Puppet will know what it can execute, and what parts need to be saved for later.
- The model is inspectable, allowing for fine-grained reporting and also a “no-op” mode, which allows for testing a system to see if there are any pending configuration changes without applying them.
- If you’d like to visualize your datacenter model, Puppet knows how to output the graphs of how all your configurations are related.
Other systems management tools lack this internal graph and model based architecture and can not offer the same advantages. Simply put, Puppet is designed with datacenter management best practices in mind.