Puppet – Configuration Management Software – Overview

Puppet  is an open-source configuration management / IT automation software that allows system administrators to programmatically provision, configure, and manage servers, network devices, and storage, in a datacenter or in the cloud. Puppet is written on RUBY language and it is produced by Puppet Labs.  Configuration Management tools uses either push or pull methods. Puppet uses pull method. In this method, puppet agents will be running on all the hosts and these machines call in to the puppet master to see if there is any new instructions for them. If there is any configuration for the hosts , puppet client daemon, just applies to it.


Puppet Components:

  1. Puppet Master
  2. PuppetDB and PostgreSQL
  3. Console
  4. Agents


Puppet Master (which includes Puppet DB  & Console ) can be installed on only on Linux systems.  Here is the supported platforms.  Refer Puppet Labs for more information.

Operating system Version(s) Arch
Red Hat Enterprise Linux 6, 7 x86_64
CentOS 6, 7 x86_64
Oracle Linux 6, 7 x86_64
Scientific Linux 6, 7 x86_64
SUSE Linux Enterprise Server 11, 12 x86_64
Ubuntu 12.04, 14.04 x86_64


Puppet agent can be installed on most of the  Linux , Unix and windows platforms.

Operating system Version(s) Arch
Red Hat Enterprise Linux 4, 5, 6, 7 x86_64 (i386 for 5, 6)
CentOS 5, 6, 7 x86_64 (i386 for 5, 6)
Oracle Linux 5, 6, 7 x86_64 (i386 for 5, 6)
Scientific Linux 5, 6, 7 x86_64 (i386 for 5, 6)
SUSE Linux Enterprise Server 10, 11, 12 x86_64 (i386 for 10, 11)
Solaris 10, 11 SPARC & i386
Ubuntu 10.04, 12.04, 14.04, 15.04 x86_64 and i386
Fedora 22 x86_64 and i386
Debian Squeeze (6), Wheezy (7), Jessie (8) x86_64 and i386
Microsoft Windows (Server OS) 2008, 2008R2, 2012, 2012R2, 2012R2 core x86_64
Microsoft Windows (Consumer OS) Vista, 7, 8, 8.1 x86_64
Mac OS X 10.9, 10.10, 10.11 x86_64
AIX 5.3, 6.1, 7.1 Power


Puppet Software:

Puppet Labs offers two type of software.

  • Puppet Open Source  (Free )
  • Puppet Enterprise  (Free only up to 10 Nodes/Commercial )

Puppet Enterprise comes along with rich web-based GUI to ease the administration.


Type of Installation: 

  • Monolithic Installation
  • Split Installation


Monolithic Installation: 

In Monolithic installation , Puppet master , Console and Puppet DB are installed on one node.  Using single Puppet Master node , you can manage up to 500 nodes.

Puppet Monolithic Installation
Puppet Monolithic Installation


When you want to scale out the puppet infrastructure, you can simply add compile master(Additional Master node) to the exiting infrastructure. Each compile master can help you to manage additional 1500 Nodes. Monolithic installation might lead to performance issues when the number agent nodes get increases.  When the environment grows large , you might need to think of migrating to the split installation method to improve the performance.

Puppet Monolithic Installation with Compile Masters
Puppet Monolithic Installation with Compile Masters


Split Installation:

In Puppet enterprise split installation, Puppet master, console, and PuppetDB are installed on each one separate nodes.  This installation is suitable for managing up to 7000 nodes with additional compile masters and ActiveMQ message brokering.

Puppet Split installation
Puppet Split installation


The below architecture shows the large puppet environment using split installation method.


Large Split Installation
Large Split Installation


Source: https://docs.puppetlabs.com


Is Puppet Master deprecated ? 

Yes. puppet server is replaced Puppet master environment. Puppet Server is an next-generation alternative to the Puppet master. Puppet Server is written in Clojure, and is built on our open source Trapperkeeper framework. According to puppet labs , Puppet server provides 3x better performance than existing puppet master environment. See more details here.


Alternatives to Puppet:

Here is the list of puppet alternative software.

  • Ansible (Redhat)
  • Salt
  • Chef


Hope this article is informative to you . You will see many more articles on puppet soon. Follow UnixArena on Facebook.Twitter to get regular updates.


Share it !  Comment it ! Be Sociable !!!