Every year at PuppetConf, we announce the Puppet community's choice (by democratic vote) for MVP of the year. On the second day of PuppetConf, Puppet founder Luke Kanies announced that Rob Nelson was this year's MVP.
It's not surprising. Since emerging from seemingly nowhere two years ago to resolve the most tickets at a Triage-a-Thon about two years ago, Rob quickly became known as one of the most active contributors and helpers in the Puppet community.
I asked Rob if he'd do an email interview with me, and in his usual gracious way, he said, "Of course!" So with no more ado, here's Rob with some interesting stories of learning Puppet.
Aliza Earnshaw: When did you first start working with Puppet?
Rob Nelson: I started working with open source Puppet in early 2014. I have a VMware vSphere lab at home, so I set up shop there first and documented the results on my blog. The results could then be replicated in other environments, including work environments, by following the blog's directions. If I cannot replicate my own documentation, then it’s back to the lab to improve the articles. Rinse and repeat until everything checks out!
I had been lovingly hand-crafting all of my virtual machines and services. Whenever it was time to refresh a service, it had to be done manually. This may sound familiar to others just beginning their automation journey :-)
My first steps were to set up a Puppet master and choose a couple of nodes to puppetize. I chose the DHCP server and Kickstart server to allow me to bring up the rest of the nodes using a standardized Kickstart template. These are basic services, but they were services I couldn’t re-provision quickly or with accuracy, as I was building them manually, just like most other services.
Once I puppetized the basic services, I had a blueprint of how to puppetize a service, as well as all the services needed to deliver it. This was invaluable learning that I could apply not just at home, but at work, and share with my coworkers.
Aliza: How did you go about sharing Puppet with your colleagues at your workplace?
Rob: It really is important to show the business value up front. Configuration management brings a lot of value — accuracy of builds, prevention of drift over time, ability to recover quickly during a failure. Puppet brings even more: declarative state, thousands of modules, and a really vibrant community. Showing the value makes it exciting to learn Puppet, and that's key to getting buy-in from management and co-workers.
I was able to take advantage of the same blog posts I had written for myself and share them with the entire team. We expanded on some that were important to us, turned them into runbooks for our environment, and referenced the rest as needed. We also held some workshops to highlight important issues and answer any questions. Puppet's own training — the Learning VM and classroom training — helped fill in the blanks. There are a lot of other training options as well: Puppet's webinars and virtual training, Pluralsight classes, and tons of blogs.
Ongoing training is important, too. Though we are now comfortable with Puppet, there's a steady stream of improvements every month, and new services we support likely require new modules. Everyone has to keep up with the times, and having a lab where you can experiment is crucial for that.
Aliza: What can you do now that automation is established at your workplace? And has Puppet changed people's outlook?
Rob: First, you can move beyond the tedium of lovingly hand-crafting builds to a point where you can do other work while Puppet does the provisioning work. You can see how once you really get going, it gives hours back on a weekly basis to address what were previously wish-list items in the backlog — things that have been determined by management to have business value, such as taking other fragile artifacts and re-implementing them as non-fragile, repeatable builds. This is the first step toward implementing continuous deployment and continuous improvement methods and processes.
There’s a lot of indirect benefit, too. With your free time, you can implement more bug fixes and feature requests. Let's imagine you make an improvement to the workflow inside a ticketing system and that saves an average of 30 seconds per ticket. If the team closes approximately 10,000 tickets per month, you have freed up 80-plus hours per month. When you make a second improvement with that much benefit, you have just freed up a full-time employee for a full year. That provides you, your teammates, and the rest of your organization a lot more time to focus on your business goals. Imagine how much further you can get towards your team's goals now!
There's also personal benefit. By removing fragility from services I support, I deal with fewer outages — fewer phone calls, fewer escalations, fewer upset users. That's something the business might not be able to put a number on so easily, but it's priceless for my mental health. I get to fight fewer fires and be more creative, more of the time.
Puppet can also help you shift toward a better culture. Deploying faster, rolling back faster, increasing the rate of change, and more learning and experimentation — all of this should sound pretty familiar to anyone who has heard of DevOps. These changes are difficult to get rolling, and sometimes difficult to adjust to, but can make your work and your life a lot better.
Aliza: You joined the Puppet community a couple of years ago, and started making a difference right away. I know you're involved in other communities, too — can you tell us why you invest your time this way?
Rob: I've been in IT for almost 20 years — feeling my age now! — and have participated in numerous communities, large and small. Currently, I'm focusing on two great communities. There's a very large VMware community, the vCommunity, and it's what got me into social media. I found that I was able to reach out directly to book authors like Cody Bunch and product managers like Alan Renouf. It's pretty neat to think of how "small" that makes the community feel, compared to how distant we all felt from each other even as the Internet started to take a greater hold on us in the 1990s.The vCommunity is really big — usually 20,000 or more attend VMworld US every year. It's difficult to digest all the content the community generates, and you can easily feel a bit lost in it.
The Puppet community is a bit smaller, but is just as enthusiastic, and feels more intimate for it! I've met a ton of wonderful people online and at the last two PuppetConfs. There's a ton of technical content here, and the Puppet community also generates a lot more cultural content than in the vCommunity. Some of that is because you can really get close to people and have detailed conversations through social media, and people are very open about sharing details of their work and culture.
I'm also a member of Vox Pupuli, a community organization of Puppet module and tool authors and contributors. We manage over 50 modules and popular tools including modulesync and a variety of puppet-lint plugins. I also contribute to puppet-lint, maintain my own tools including puppetinabox and generate-puppetfile, and of course keep my own blog.
Participating in these communities certainly takes up a bit of time, but it is very rewarding. I count many people in all of these communities as my friends and mentors, and certainly plenty of them have made my work life easier. I always try to return the favor and hope that I can provide similar assistance to others. I encourage everyone to find a community that appeals to them, and join it. If you can participate, great, but you benefit even as a silent observer.
Aliza: How did it feel to be named MVP of the year at PuppetConf? To see your likeness projected on that huge screen?
Rob: Wow, that was pretty surprising and amazing and humbling! And a little weird — I'm still not sure how I feel about seeing myself 20 feet tall on the screen :)
I get so much from the Puppet community, and I'm glad that I am able give back to it and that it's so well received. This kind of award really means the world to me, since it is my peers recognizing my efforts, and it has me super-charged for what we can do together in the future. It's been almost a month since PuppetConf and I'm still energized from this. Thank you, Puppet community!
Aliza Earnshaw is the editorial director at Puppet.