Starting the Process

Confucius said that a journey of a thousand miles begins with a single step.

After starting and restarting a few books from my Safari Bookshelf, I’ve decided that my first Puppet Book as I set out to re-teach myself Puppet again, will be “Puppet 4 Essentials” (2nd Edition) by Felix Frank and Martin Alfke.

(I say re-teaching because I have previously used the learning VM from Puppet and read the “Puppet 3 Beginner’s Guide” by John Arundel, but I didn’t have the opportunity to fully utilize my Puppet skills beyond updating a few manifests at my last job, so it’s time for a refresher.)

I was originally going to use “Puppet 4.10 Beginner’s Guide” by John Arundel, but that book is written from the perspective of using Puppet in stand-alone mode instead of the traditional agent/master architecture.

While I can see that there are benefits to masterless Puppet, I prefer to use the software as it was originally intended before I start hacking at it to make it do something outside of the original design specifications.  I figure that way I can better understand design decisions and choose to make my hacks intelligently instead of piling band-aids onto band-aids without truly understanding the impact.

Yes, this may be a rather extreme interpretation.  But I wanted to choose one path to start with, and I remember pulling my hair out reverse engineering unnecessary hacks put in place by previous System Administrators when I was working with Tivoli Storage Manager (TSM).  (Unnecessary because if the previous System Administrator had understood what the TSM developers were intending to do, they wouldn’t have forced it into a broken solution.)

One of my goals with my current studies is to become Puppet Certified.  So I also figured I should learn to use Puppet as Puppet Labs originally intended it first.

In other words, I wanted to start off learning good habits before I bend the software to my will.  There’ll be time for hacking later.  =)

Michael

Leave a Reply

Your email address will not be published. Required fields are marked *