What is Puppet

What is Puppet 

Puppet is a software which is using for system automation and management. It manages your servers, your described machine configurations in an easy-to-read declarative language, and will bring your systems into the desired state and keep them there.Before talking more about puppet I want to refresh your thoughts about automation. The product is owned by puppetlabs Inc the leader in IT automation.

What is Automation ?

System automation is the use or introduction of automatic configurations, scripts or another process to perform the daily task automatically.

 Why Automation?

  •  Speed:  It will help us to complete the tasks in less time
  •  Consistency:  It will avoid human errors which may occur during the repetition
  •  Easy:   Free from hazards and avoid boredom of repetition

What to Automate?

Since the servers an infrastructure consist of a certain complexity and valuable data it will not be a wise decision if we choose a wrong thing to automate. So we have to consider few things before start with automation.

Choose the right thing to automate
  • Freaquency : How often we have to perform the task. If the task comes very rare the effort to make those thing automated will be a waste.
  • Variability  : How much similar the tasks are more similar more easy to automate

Don’t Learn two things at a time

If we try to automate a technology or process in which we are not sounded enough. It will be very difficult to isolate the errors when things go wrong.That means we cant identify the exact issue, whether the issue is with the process we are doing or it’s with the puppet configurations.

Platform Support

Puppet will work on all operating systems but the puppet master should be in Linux . Windows machines can’t act as puppet master servers. Before installing any Windows agent nodes, be sure that you have a *nix puppet master installed and configured.

Comparison between Puppet and Chef:



Definition Puppet is an open source configuration management tool which is written in Ruby. It is a product of Puppet Labs. Chef is also a configuration tool, but it is written in Ruby and Erlang. It is a product of Opscode.
Supported Platforms It is officially supported by a broader range of OS. It is officially supported by a less broader range of OS.
Community Larger user base Comparatively smaller user base
Pricing It has a free open source version. Puppet Enterprise is free for the first 10 nodes and then $99 per node (per year) after that. It also has a free open source version. Private Chef ranges from $120 per month for 20 servers to $600 per month for 100 servers.
API Integration It seems to have no extended API Chef has an extended API
Type of application It is a user application It is also a user application but also can become a part of the application
Configuring the Configuration Server Comparatively difficult Comparatively easy
Code Execution Both on puppermaster and puppet client On the node/client
Ordered Execution Some support Better support
Company Puppet Labs Opscode
Notable Customers Twitter and Nokia Facebook and Splunk
Frindliness More sysadmin friendly More programmer friendly
Language Mainly Puppet’s custom JSON-like language, although a Ruby option is available beginning in version 2.6 A subset of Ruby

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s