Puppet is currently being deployed in the environment where I work, so I thought it would be a good idea to get at least slightly up to speed around how it works. Like I am sure quite a few of you I am familiar with Puppet in terms of what it is and what it is commonly used for, in terms of it being an IT automation tool written in Ruby that can manage both *nix and Windows systems.
I didn’t however know much of the detail around exactly how it works and can be configured. Given that there are probably others in a similar position who either need or want to learn a bit more about Puppet and system management and automation I thought I’d share a couple of the better introductory resources I found.
If you are completely new to Puppet and want to find out what it does the ‘What is Puppet page is an excellent starting point;
The next link is a good introduction to coding with Puppet and nicely covers the fact Puppet is Declarative. This can be a challenge for some people especially those with coding experience as most languages are Imperative which is quite a different style of explaining what you want the application to do. Read on to find out more;
I also found this three part series that covers what you need to set up and get running with Puppet with the minimum of extra information. This is great if you need to get up and running quickly as much of the full documentation is more book like;
Finally if you want a full understanding of Puppet and have the time the Puppet Labs documentation is excellent and should remove any need to buy a reference book;