What is DevOps? 2 years ago I had no idea. I was living the cycle of poorly planned, crappily implemented projects where artisan server builds were the only way anything was built, even when it meant 125 servers. I actually had a PM say to my team, “We don’t have TIME to plan! You need to start building servers!” I was gone for two weeks to Europe right after that and when I came back, one of my sysadmins had indeed kickstarted all 125 servers. We then spent the next 6 months fixing configurations via ssh cli foo (for i in servers; do ssh $i some monkeypatch;done).
I tell you this anecdote so you can understand the utter delight and abandon with which I embraced the DevOps movment when introduced 18 months ago. I was immediately wowed by the positive, inclusive attitude. I read about continuous deployment, continuous integration, test driven deployment, configuration management tools and the personal experiences of several people. I found the DTO blog, the Agile Admin and, of course, the Etsy Code as Craft blog.
It’s great to see people engaged, animated and motivated to make things awesome. Instead of being beat down, embracing the ops-as-victims lifestyle, they’ve taken charge of their world and started trying to change what’s not working instead of just turning into the troll under the bridge. I’ve spent over 10 years in corporate and I know how easy it is to feel beat down by the constant cycle of develop, implement, fail, support the failure forever. So I love me a movement that engages and tries to proactively to end the failure cycle.
In June I had my first community interaction events at Velocity and Devopsdays, in San Jose. The atmosphere was different from any other industry conference I’ve attended in the past. It was awesome. The energy was amazing. Many of the talks were inspiring(John Allspaw, Adam Jacob, I’m talking to you). I finished the week with a hyperactive energy and desire to channel that energy into about 10 new things I’d learned about.
A common theme during presentations, panels and over beer was the attempt to define the DevOps movement. I heard a lot of people at Velocity tell me what it’s not. It’s not a tool, it’s not a job, it’s not a job description; it’s not a title. I heard a lot of, “if you claim to be ‘devops,’ yer doin it wrong.”
Interestingly, in high school and college, I ran with a punk rock/goth crowd with a similar attitude. “If you claim you’re punk rock or goth, yer doin it wrong.” We were too cool for labels. In our own minds, we were outside the labeling system. Sticking a label on us or on yourself was lame and small minded. We’d say things like, “I’m not goth. I’m just myself. I don’t conform to labels.” We were pretentious by pretending that only pretentious people actually labeled themselves. If you claimed to be punk, obviously you were a poser.
I’m sensing a lot of that same attitude from the folks who say, “if you call yourself a devop, yer doin it wrong.” I understand some of the desire to protect the movement from spoilage and the term from overuse. We want to keep our counterculture to ourselves. It’s not for the likes of HP and IBM and their re-branding of old, tired products.
I understand what people mean. Labels get in the way of the movement. Labels are limiting and, if you say you “do devops” you risk limiting yourself and the perceptions of others. I can even empathize. Every time a job comes through my inbox labeled “devops,” I cynically assume it’s someone who wants to rope some poor sap of a sysadmin into a crap job by labeling it with something cool, probably hoping to get two kinds of work for the price of one.
Everyone claims to be living in the DevOps moment, but what does it really mean? Several people have asked this question and tried to answer it. My business card has ‘DevOps’ on it. But it also says Problem Solving, Middleware and other things. How dare I list Devops among my skill set? Here’s the thing. If DevOps isn’t a tool, if it isn’t a job description, if it isn’t a title, it still must describe something right? It can’t be an empty set. Here’s what I was thinking when I put it on my card. DevOps is a framework and a philosophy. It’s a lightly codified framework for an attitude and approach to solving problems. DevOps contains the seeds from which a better culture can grow. It assumes inclusiveness, accountability and that everyone is smart. It dismisses boundaries. When I put DevOps on my business card, what I’m saying is, the word defines part of the way I think, the way I approach problem solving and it also defines the attitude I’m looking for when evaluating engagements.
Because of all the positive vibe around DevOps, it bothers me when I see snotty tweets or hear snarky remarks during conference presentations. You can call bullshit when HP starts trying to claim that its monitoring suite is “devops friendly,” or when Gartner starts writing articles that could be subtitled “How to cash in on the DevOps movement.” But projecting an attitude of exclusivity or just plain snark because you’re feeling protective can only hurt things. New folks are continually stumbling upon parts of DevOps or agile infrastructure as a movement. Some of them have been living the attitude for years and maybe just now realizing there are others out there. I guess I’d rather be a hippy flashing a peace sign at people who happen across DevOps than a hipster turning my nose up at anyone who doesn’t meet my specific criteria for cool.