When asked normally anybody who is new to ruby will say that they first got into ruby when they heard of Ruby On Rails the so-called killer app to emerge from the ruby camp. Newbies too normally will start to see the ruby world through the rose or otherwise colored glasses of RoR.
Well, I heard of Ruby before RoR and never did use it seriously for building any applications. Another project in the ruby camp has piqued my interest more and that is Puppet. I build and maintain a lot of architectural component daily and some tasks are not only repetitive they are just thankless and god forsaken! Well enter Puppet! Puppet has made performing or better yet automating these tasks fun again.
I have never had so much fun with systems side programming since the hey days of Nagios! To me, Puppet has succeeded in creating it's own contributing audience much how Nagios has. For those who took a trip to the sun to reboot it (great film from Boyle) and because of that have not heard of Puppet ... here is a little quote from the main Puppet Site to summarize what it does ... "is the leading open source tool for data center automation. Puppet helps you save time, gain visibility into your server environment, and ensure consistency across your IT infrastructure". Say you have installed about 30 servers and on each server you had to perform some system hardening such as tcpwrapper modifications or other such fun things ... imagine having to do this for each server or every time a new server is added into your environment. Let's just you will be a busy person will little left of something called a life!
Well our predecessors faced this same issue and left us with tools to help us out and Puppet happens to be one of them! By no means though is Puppet the only one. There are others like cfengine and others but for my money Puppet managed to make it the most fun with as least brain melting as possible. Some of the other things that I like about Puppet is the fact that the technology is mature and is available on most Unix platforms, so that makes deploying easy. I have tested most of the recipes and unlike some other Open Source projects out there that I know of the examples actually work and they work consistently well.
Puppet hails from a company called reductive labs and is also the commercial arm for Puppet. I have a good feeling that data center automation will be the next best thing and for now the easiest and quickest way to achieve some semblance of automation is through Puppet. Kudos for a well built app!