Mastering Puppet: This Hot IT Skill Could Ignite Your Career
If you're looking into certifications for systems administration or DevOps engineers, here's something you may not have considered: PCP. PCP stands for Puppet Certified Professional, an in-house certification offered by Puppet Labs that is growing in demand at an astonishing rate. It's also the name of a drug that makes you go crazy and bite people — I recommend only the certification.
If this article caught your eye, then you've probably heard about Puppet here and there, and you might have even worked with it before. Basically, Puppet is an infrastructure automation tool that makes it possible for a sysadmin to monitor, configure, automate and synchronize their network from a remote location.
One begins by installing a "master" puppet on a main, consistently-available server and then installing "agent" puppets on any servers that need to be configured. These agents will periodically check in with the master server for new configurations. So, if you update one server, you update them all. The tool is consistent, fast and cheap.
Puppet also has a "masterless" option, in which you merely install the agents. This is not recommended, but may be worthwhile if you have a very small or very large operation.
The tech world began recognizing the usefulness of Puppet almost the moment it came out in 2005. The open-source solution allows a company with just a handful of nodes to manage itself as efficiently as a Fortune 500 with its own proprietary software.
In fact, that was the whole point. Puppet's founder and Puppet Labs CEO Luke Kanies said he wanted to develop a solution to help companies solve the system management problem the same way that Google and Amazon were. (Somewhat ironically, both tech titans are now Puppet customers.)
Puppet Labs is now producing both an open-source Puppet under the Apache license as well as a supported enterprise version, and has a client list about a mile long. Businesses running Puppet include big dogs like Google, Cisco, Microsoft Azure, Amazon Web Services, PayPal, OpenStack, Intel, McAfee, Twitter, Reddit and Oracle, just to name a few. Puppet Labs has partnered with a few of these in order to better integrate their product, and Puppet is supported by Microsoft Support.
Which brings us back to you. Specifically, if you don't know Puppet, then it might be time to take a look. Puppet Labs completed a $40 million round of investment funding in the middle of last year, in which they were backed by VMware and Google, so right now the odds are in their favor.
In September of last year Dice.com concluded that, according to data gathered in-site, knowledge of Puppet was the fastest-growing tech skill. Even if you're a happily-employed systems administrator, it might be worth checking out just to lighten your load and decrease your overhead.
Of course, Puppet isn't alone in this arena. Puppet's closest competitor is Chef, which boasts Mozilla, Facebook and Ancestry.com as users. Though the market certainly seems to lean to Puppet, the debate is far from over, with Puppet maintaining the favoritism of system administrators and Chef generally being a little more popular among DevOps engineers.
Chef was originally based on Puppet (for a time it was dubbed "marionette"), and both are coded in Ruby or Ruby derivatives. There are also Salt and Ansible. These solutions are programmed in Python and are much more streamlined than either of their two bigger cousins — Ansible, for instance, does all its work over SSH, meaning it only requires one installation on one machine.
You can download the open-source Puppet for free or get Puppet Enterprise for $99 per node per year after the first 10, which are free. Chef also offers an open-source version, or you can buy the behind-the-firewall version for somewhere in the range of $120 monthly (for 20 servers) to $600 monthly (for 100 servers). Ansible and SaltStack are both open-source with paid enterprise versions available.