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