Tests & vmpooler or: How I learned to stop worrying and make videos
“Filmmaking is a miracle of collaboration.” - James McAvoy
Ever wonder how we do continuous integration at Puppet? So did a lot of our new hires! So we made some fun videos to explain a couple parts of it, which I’ll share here. Watching them is fun, but I think making them is even better. Check them out and ask yourself if there’s anything you could give a similar treatment where you are.
To create these videos, I toured through our site reliability engineering (SRE) department, learning about how each team in that group gets things done and the tools they use to make things better.
Release Engineering was the first team in SRE I got to shadow. They are responsible for ensuring our products are packaged effectively and building tools to support that mission. They let me know that a lot of new developers feel overwhelmed when they begin looking at our docs on how Puppet Enterprise is assembled, and that a short primer video would save them a lot of explaining time. Thus began my journey into SRE video creation. I hope you like the result.
My favorite part of that video is when the nightly tests drop (okay, one of my favorite parts). Developers tell me that it actually looks the way it feels. “That’s a lot of tests on a lot of different machines,” you might say. “How do you get through all of those without everything coming to a stop?” To this, I would reply: “Thank you for that excellent transition, dear reader.”
The next team that showed me the ropes was Quality Engineering (QE). What do they do? They build and maintain the tools that help us test code — not writing the tests themselves, but more like building the Scantrons to process those tests.
One of the tools QE uses is vmpooler. It prepares all the VMs that the tests in the first video use (and for other tools that use VMs, too). We thought it would be a good idea to make a short video to help new developers at Puppet better understand how it works. I think the end result is pretty darn nifty. Even if you aren’t a developer or a sysadmin, using visual metaphors — like texting on a cell phone to show interacting with the vmpooler API — helps make the content more accessible and understandable. We thought it would be nice to share it with the rest of the world.
In the video, I refer to Run Me Maybe and Always Be Scheduling, two tools we use internally. Sorry, those aren't open sourced… yet.
I arted and so can you
Puppet’s SRE team is constantly making improvements (and we’re always updating supported operating systems), so some of the details in these videos are probably out of date already. Hopefully, presenting the information like this turns out to be not just useful, but inspiring, so when someone decides it is too out of date, they can make a new version.
“But you’re so creative, Tiffany, I could never make something like that!” you might say. “Pish posh,” my hypothetical self would retort. “It’s all about the metaphors!” Seriously, it was very lightweight and quick. We shot those on cell phones and everything else was just paper, index cards, and some sticky notes. The biggest barrier was checking my understanding, so creating the videos can be thought of as a study aid.
“When one teaches, two learn.” ~Robert Heinlein
There’s a concept in education called Learning by Teaching, where students will study up on a part of a lesson and teach it to their peers — not delivering a lecture or reading from the teacher’s prepared notes, but studying the material to a point where they can share what they learned. Making these videos was a microcosm of that. Thinking of how to present the information helped me realize the parts where I wasn’t quite understanding what I had learned so far, which got me to ask questions. Or sometimes when watching the first take, someone would say “Oh, that actually happens before this other bit.”
Wanna drop a DevOps bomb? Learning culture! Boom! How about two? Sharing culture! Boom! Next time you come across a dense or thorny process, concept, architecture, etc., tell your boss you need time to make a primer video. Taking the time will ensure you are thoroughly knowledgeable, which will increase the quality of your team’s work. Your videos will also decrease the on-ramping time for people that join after you, helping them make meaningful contributions sooner and increasing your team’s velocity.
I hope you get a chance to record a video or diagram or model of something you learned for work, because I certainly had a ton of fun making them and hope that other people get to enjoy watching them and making their own versions!
For the record, I do think that a dozen Jenkins in swim trunks might be the peak of my artistic career.
Tiffany Longworth is a products operations manager at Puppet.