Everywhere we go, no matter what we do, we constantly here buzzwords; so much so that we’ve created the incredible pastime of BuzzWord Bingo. Unfortunately, this practice seems to be rampant in the tech industry. We’ve all been in those meetings with the new VP of Something That Never Actually Existed Before But Does Now So The CEO Can Give His Best Buddy a Job; that would be one hell of a business card, but I digress. Nonetheless, these meetings all start the same, “Hello, I’m Bob Brown-Noser, and I’m the new VP of Something Ridiculous and Completely Pointless, and I’m here to help you create the next-big-thing, to usher our product into a cutting-edge Web 2.0 platform, to create a synergy of sustainability and empowerment, to harness the technologies of cloud computing and big data, and to facilitate the convergence of disruptive technologies into a next-generation company.” Blah, blah, blah, blah, so on and so forth………….
So now, on to the point of my rambling: DevOps; the latest of a never-ending flow of technology buzzwords. What is DevOps? What does it mean? Can it be a job title? What is a DevOps Engineer? These are the questions I’m here to answer.
Definitively, DevOps is a philosophical movement, and not yet a precise collection of practices, descriptive or prescriptive. This is taken directly from the Sacred Scribe of DevOps himself, Mr. Gene Kim, but doesn’t actually answer the question, so I’ll go a step further in defining the term. DevOps, the abbreviated form of Development Operations, is the operations team answer to the agile methodology that has become so prevalent and effective. With development teams pushing code in cycles of minutes, and possibly even seconds, the operations methodologies of yonder year will not provide the quality of operations required to keep pace. Acquisition and provisioning cycles of weeks, months, or years will no longer suffice when your primary competitor is releasing completely revamped versions of their product on a weekly, daily, or even possibly, an hourly basis. Enter DevOps; DevOps is the concept of operations, QA, and development teams working seamlessly to produce a product that otherwise couldn’t be obtained. Nathen Harvey, Technical Community Manager at Opscode, posits that the practice of Devops is done by combining your QA and operations teams, and the breaking down of the wall between said team and your developers. Additionally, I believe the concept of DevOps is further defined by operations teams being proactive in the SDLC by expediting their process through code. The company Etsy has made this SOP, so much so that they have taken on the philosophy of Code as Craft; they have made an art form of DevOps, and are epitomizing the concept.
I hope that this has removed some of the haze that surrounds the concept of DevOps; if not, feel free to reach out to myself or any of the resources listed here. Obviously, I could write a book on what DevOps is, isn’t, and how to make it happen, and my friend Gene Kim is doing exactly that in the DevOps Cookbook; however, this isn’t the venue for that. In closing, I will leave you with these final thoughts. In my opinion, DevOps cannot be a job title, however, I do believe it is more than acceptable as a team name; I think the DevOps Engineer is akin to the Unicorn, but that is a conversation for another blog post; and last but not least, DevOps is not NoOps. If you are working for a company or organization, and they do not have a dedicated Ops team, issues will eventually arise. There are a lot of companies out there preaching DevOps, but subscribe to a NoOps mentality to either maintain fiefdoms, save money, or both. We’ll be talking about the process of selecting a great SaaS provider in the future, and will address the NoOps mentality in more detail.
Till next time…..