Buyer's Guide

The steps in selecting the right configuration management system

A collection of articles that takes you from defining technology needs to purchasing options
Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

An in-depth look at Puppet configuration management tool options

Puppet configuration management tools are widely used in the IT industry. The Puppet product is available in many versions that are regarded as useful tools for organizations of all sizes.

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.

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
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.

Puppet offers a range of open source software to build upon Open Source Puppet including:

  • Beaker: a cloud-based acceptance testing harness;
  • 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.

Next Steps

Learn how to choose the best configuration management product for your company

Read about why configuration management is so essential for businesses today

Learn how Puppet stacks up against some of its biggest rivals

This was last published in October 2016

PRO+

Content

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

Buyer's Guide

The steps in selecting the right configuration management system

Join the conversation

6 comments

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.

Would Puppet configuration management be a wise tool choice for your enterprise? Why or why not?
Cancel
"... Puppet configuration management is favored within the systems administrator field ... "

Is that really true.  I was led to believe that Puppet is favored within the development field, where Ansible is favored within the systems administrator field.
Cancel
@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.
Cancel
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.
Cancel
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.
Cancel
@Diggly1 could you envision using just one or the other tool to accomplish all these tasks, or is the diversity of needs/capabilities of each system such that you need to continue using both?
Cancel

-ADS BY GOOGLE

SearchDataCenter

SearchAWS

SearchServerVirtualization

SearchCloudApplications

SearchCloudComputing

Close