The DevOps tool isn't easy to learn, but the payoff is increased efficiency in your server room. Shawn Powers explains.
My daughter will be 17 years old this summer, and she still hasn't taken driver's ed. It's inconvenient, expensive, and it's hard for her to find the time between sports practice, home work, and a job. Every time she asks us to drive her somewhere, however, I can tell that she regrets not taking the time to get licensed. It's hard work to find a ride, and sometimes we're not available to drive her.
Learning Puppet is a lot like that. Once you understand how it works, and how simple it is to implement into your environment, it seems silly that you haven't done it before. But those first few steps aren't just inconvenient -- they're hard. The entire DevOps way of doing things is foreign to those of us who have been working in IT for decades as opposed to years. Even if you're relatively new to IT, once you learn a specific way to accomplish a task, it's hard to justify learning a new way.
In the time it takes to learn how Puppet can install your web server with a LAMP stack, you could install it three times over. That's not just an anecdote, it's absolutely true. The problem is, throughout a career, you end up installing a LAMP stack far more than three times.
So what is Puppet? It’s a DevOps tool that provides benefits for multiple disciplines inside IT. For the developer, it enables hardware and software to be "scripted" so there's no need to learn the inner workings of an operating system. If you need an Apache Tomcat environment, you simply include code that tells Puppet to install Apache Tomcat along with your custom app.
In the video below from my Puppet Fundamentals course, I explain how Puppet works and how to get started with it.
For the system administrator or operations folks, Puppet is a way to install and maintain computers and servers based on templates. You can make a change in a single place, and all your systems are built or upgraded to match that template. The system administrator still needs to understand what's happening during the maintenance, installation, and upgrade processes, but he or she doesn't have to actually do the heavy lifting.
Puppet handles the mundane task of actually doing the work. That means less work, but also more consistency and reliability. In my experience, the Puppet program is far more alert at 3 a.m. when updates are installed, than a system administrator who just stayed up all night to make upgrades. Puppet is an incredible time-saving and reliability-increasing tool, and even if the learning curve is a little steep, the time spent learning the program will be returned in short order.
You don't need to be a world-renowned expert in order to get immeasurable benefit from using Puppet in your server room. You just need to learn how to get started, and the rest is learned like most important things in IT: by doing.
My daughter is finally taking driver's ed this June right after school is out. She's a little frustrated because she'll be sacrificing a few weeks of her summer vacation in order to get her driver's permit. But when you compare those few weeks of study to a lifetime of driving, it seems absurd that she's waited so long. I urge you to do the same. Learn to drive Puppet, because you'll get the time spent learning back many times over.
To learn more about Puppet, check out Shawn Powers' "Puppet Fundamentals" training course at CBT Nuggets (free trial required). Powers, a CBT Nuggets trainer since 2009, has been teaching IT for more than a decade. His specialties are Linux, Chef, and integrating multiple platforms for larger networks. Early in his career, he started a Cisco Academy for a local school district where he taught networking (CCNA & CompTIA A+) to high school students. He has a passion for teaching others, and his enthusiasm comes through in his courses. He is an associate editor for Linux Journal.