Definition

Puppet (Puppet Labs)

Puppet is an open source systems management tool for centralizing and automating configuration management. Configuration management is the detailed recording and updating of information that describes an enterprise's hardware and software. 

Puppet has two layers: a configuration language to describe how the hosts and services should look, and an abstraction layer that allows the administrator to implement the configuration on a variety of platforms, including Unix, Linux, Windows and OS X.  Administrators can encode the configuration of a service as a policy, which Puppet then monitors and enforces. 

Puppet is written in Ruby and uses its own domain specific language (DSL) for creating and managing modules. The basic version of Puppet configuration management, which is called Open Source Puppet, is available directly from Puppet's website and is licensed under the Apache 2.0 system. Puppet Enterprise has additional functionality including orchestration, role-based access control (RBAC) and compliance reporting.

The Puppet Labs website offers a number of community modules for describing and managing infrastructure as code. Puppet Labs refers to the synergy between Open Source Puppet and community modules as the Puppet ecosystem.

Popular Puppet ecosystem modules include: 

Puppet Forge - a repository that provides access to over 4,000 pre-built user contributed modules.

Beaker - a test harness focused on acceptance testing for interactions between multiple virtual machines (VMs).

Facter - a tool for gathering basic facts about nodes, including hardware details, network settings, operating system (OS) type and version.

Hiera - a key/value lookup tool for configuration data.

MCollective - a framework for building server orchestration or parallel job execution systems.

PuppetDB - a searchable database that stores information about every node. 

Razor - an advanced provisioning application for discovering and deploying bare-metal VMs and virtual systems.

Trapperkeeper - a Clojure framework for hosting long-running applications

This video from Puppet Labs provides an overview of how Puppet can be used to automate infrastructure management.

See also: policy-based management

This was last updated in January 2017

Continue Reading About Puppet (Puppet Labs)

Dig Deeper on Configuration Management and DevOps

PRO+

Content

Find more PRO+ content and other member only offers, here.

Join the conversation

1 comment

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

How can Puppet prevent configuration drift?
Cancel

-ADS BY GOOGLE

File Extensions and File Formats

Powered by:

SearchDataCenter

SearchAWS

SearchServerVirtualization

SearchCloudApplications

SearchCloudComputing

Close