Puppet configuration management tools are used to automate the packaging and provisioning of software into an organization's operational IT environment. Puppet is one of the most-used configuration management tools on the market and has a vibrant user and support community. Puppet is used by organizations such as the U.K. insurance company LV=, Staples, NASA, Getty Images and Intercontinental Exchange Inc.

Download this free guide

Orchestration tools: Our experts' vendor-neutral analysis

Orchestration tools are becoming increasingly popular as part of the DevOps process as they allow admins to focus on more critical tasks, rather than the routine steps it takes to move a workflow along. Our experts analyze the top solutions in the market, namely: Automic, Ayehu, BMC Control-M, CA, Cisco, IBM, Micro Focus, Microsoft, ServiceNow, and VMware.

By submitting my Email address I confirm that I have read and accepted the Terms of Use and Declaration of Consent.

By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.

You also agree that your personal information may be transferred and processed in the United States, and that you have read and agree to the Terms of Use and the Privacy Policy.

Puppet is written in Ruby. However, it uses its own domain-specific language (DSL) for creating and managing modules. This DSL is declarative: It defines states using resources and classes within its manifests (modules). Users state that DSL is easily learned, being intuitive with built-in code checking. Puppet pairs its DSL with the REST protocol. Puppet operates in a client-server mode, with managed nodes synchronizing details with the server.

Puppet Dashboard for configuration management

Full Puppet Enterprise for use on an unlimited number of nodes comes in at a starting price of $120 per node. Puppet Enterprise with 11 nodes or more comes with Standard Support, covering five day, 8am to 6pm online support in the local customer time zone. Standard Support limits the number of inquiries that can be made in any one month. Premium Support offers unlimited 24/7 support, with telephone support for Priority 1 issues. Pricing for Premium Support is negotiated directly with Puppet.

The current version of Puppet is 4.6.0 released in August 2016. The basic version of Puppet configuration management -- Open Source Puppet -- is available directly from Puppet's website and is licensed under the Apache 2.0 system. Puppet Enterprise, which pulls together various open source components into one package -- see the list of the different open source options Puppet makes available, below -- along with additional functionality such as orchestration, role-based access control, full portability, reporting and compliance, is also free for up to ten nodes. All Puppet modules can be used with this free version.

Facter: gathers attributes of nodes and makes these available as variables for Puppet manifests;

Hiera: manages site-specific data;

MCollective: used for managing executing administrative tasks across clusters of servers;

PuppetDB: provides a metadata store of node information;

Razor: used for bare-metal and virtual machine provisioning; and

Trapperkeeper: a Clojure framework for hosting long-running applications or services.

One very useful resource for Puppet users is Puppet Forge which is a repository that provides access to over 4,000 prebuilt user contributed modules.

Puppet configuration management supports a range of Linux distributions, along with many Unix variants as well as Windows and OS X. Puppet Server (Puppet Master) needs to be installed on Linux – it currently supports Red Hat Enterprise Linux (RHEL), CentOS, Oracle Linux, Scientific Linux, SUSE Linux Enterprise Server and Ubuntu. Puppet Enterprise can be easily integrated into RHEL as a fully supported option.

Due to the abstraction of the layer between actual resources and the declarative DSL, Puppet configuration management is favored within the systems administrator field, although it is perfectly capable of operating across the DevOps process as well. As Puppet is seen as a relatively easy tool to learn, it can be used by and benefit organizations of all sizes.

6 comments

Register

Login

Forgot your password?

Your password has been sent to:

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

@Diggly1 Ansible is definitely used by many systems administrators, and might become more popular now that it is part of the Red Hat offering (Red Hat Satellite uses Puppet configuration capabilities currently, however). The comparison is more likely between Chef and Puppet. Tom Nolle, consultant at CIMI Corp, says Puppet is favored by operations and Chef by developers, although both have adherents on either side of the IT wall. He explains why here: http://bit.ly/2aenLDR.

Meredith, we use both in our shop. If, for example, we want to update systems, add /remove users from our systems, or set up a program, we use Ansible to push these things. Otherwise, if we e.g. make changes to config files, we do so once on our Puppet master, and let the nodes pull over the changes (the nodes are polling the Puppet master, and will execute the change only when the config file has changed). Many shops use Puppet for continuous delivery.

Not to beat the proverbial dead horse, but from Paul Venzia's article,"Review: Puppet vs. Chef vs. Ansible vs. Salt" (http://www.infoworld.com/article/2609482/data-center/data-center-review-puppet-vs-chef-vs-ansible-vs-salt.html), where he says, "Whereas Puppet and Chef will appeal to developers and development-oriented shops, Salt and Ansible are much more attuned to the needs of system administrators.". As a user of both Puppet and Ansible, I agree.