Puppet Tutorial: Introduction to Puppet Configuration Management Tool
A system administrator's job primarily consists of configuring, deploying and maintaining server machines. There are tasks that are very challenging and interesting at times, but most of the daily routine, consists of many boring and repetitive tasks.
Almost all system administrator's, try to get rid of those repetitive, and boring tasks with the help of scripting and automating them. But there are issues with scripting and automating also.
Scripts which are custom made to solve or automate a task, are seldom documented, published or announced.
Enhancements to these scripts happen in a random manner.
Sometimes you go to work the next day to find that something is not working as required because the script was altered by somebody else.
And the main disadvantage of this is that when it comes to larger infrastructure with different platforms to deploy and manage, these scripts does not serve the purpose.
Although there are plenty of proprietary configuration management tools available in the market, you need to either spend a lot of money behind them or, sometimes end up waiting for their next release for an extra add on feature which could have been implemented by you if the source code was available with you.
So what is Puppet?
Puppet is a configuration management tool that is extremely powerful in deploying, configuring, managing, maintaining, a server machine.
In other words you can say that puppet can be used for an entire life of a server, starting from bootstrapping a server, to shredding and giving up a server.
To give you an overview let me say that you can define distinct configuration for each and every host using puppet, and continuously check and confirm whether the required configuration is in place and is not altered(if altered puppet will revert back to the required configuration ) on the host.
Puppet keeps the configuration of your hosts under check, and can be used in one shot to configure a machine from scratch (like installing package, editing and configuring,create and mange users required) etc.
The main added advantage is that you can manage the configuration of almost all open-source tools available out there, using puppet.
Who made puppet and who supports it?
Puppet is made by Luke Kanies. It is based on ruby language. Currently puppet is supported by Puppet Labs(Luke Kanies is the CEO of Puppet Labs). GPLv2 is used to license puppet.
Which platforms can be managed using Puppet?
Puppet can be used to manage Unix and most of the Linux flavors. Even Windows platforms can be handled using puppet. Some of the platforms which is supported by puppet are mentioned below
HP UX
BSD
MACOS X server
Gentoo
Debian
Red Hat/Centos, Fedora
Mandriva
Microsoft Windows
What are the advantages of puppet over other tools?
Normally most of the configuration management tool, deploy the required configuration on a machine, and leave them as it is. But puppet keeps on verifying the configuration at a specified interval(which you can modify as per requirement).
Puppet defines the configurations for a host with the help of a language which is very easy to learn and is only used for that purpose.
Puppet is used by major players in the industry like Google,red hat etc.
Larger open-source developer base
Wide number of platforms are supported in puppet.
Its works very smooth, even when deployed in a large infrastructure(thousands of hosts to manage)
Comments
good introduction
good introduction
Pls provide the installation steps of puppet.
Hi,
Helpful in knowing the use of puppet tool.
pls provide the installation steps and tutorials of puppet.
Thanks,
Vivek
Configure Puppet
Can we have more advance configuration , client and server.
Please help
wonderful write up
wonderful write up
Great tool...
I know little bit about this tool, it very nice and cost effective for the organisation.
Does Puppet work on HP-UX ?
Does Puppet work on HP-UX ?
Puppet user
Thank you
Add new comment