DevOps: What it is and Why You Should Care

The problem with buzzwords in today’s world is that they quickly become misunderstood. The original meaning or message becomes lost entirely, replaced with an often inaccurate definition that leaves people scratching their heads and nodding in agreement when other professionals start discussing the topic. Cloud computing was once a misunderstood tech term. While cloud computing is understood by the vast majority of IT professionals and even Average Joes, the tech world’s latest buzzword, DevOps, isn’t so lucky. Confusion reigns supreme when it comes to discussing DevOps, even within the inner circle of application developers in the IT industry. A poll showed just how unclear many within the industry are about DevOps. When asked if DevOps speeds up application delivery, 31% of respondents said “yes,” 17% of respondents said “no, it’s just hype,” and 8% were “still evaluating.” You might be wondering, what about the majority of respondents? Well, a whopping 45% answered “what is DevOps?”

The Elusive Definition of DevOps

With so many confused and unclear about DevOps, the time has come to provide a definition. In its simplest terms, the concept of DevOps is the combination of development and operations teams to produce software applications faster. The primary means for software and web development in the past involved development and operations teams operating separately. The rise of DevOps has resulted in a concept where both parties work in closer collaboration to develop applications. The idea is that by getting these two sides to work together more closely throughout the process, the end product is produced much faster and has fewer bugs to work through.

Evolution of DevOps in the Real World

The concept of DevOps sprang from larger corporations. Office culture within small businesses naturally lends itself to tighter cooperation and teamwork. These environments are small enough that it is easy for teams to get together, bounce ideas off of one another, and maintain open lines of communication throughout the process. Office culture at tech giants like Google and Microsoft, for example, is much different. Development and operations teams not only work on their own floors, but potentially work at different sites. This makes open communication and teamwork difficult to facilitate. The concept of DevOps arose in these massive corporations as a cultural shift in office culture that is meant to improve the manner in which separate teams work together to turn out quality IT products faster.

Configuration Management software like Chef, Puppet, and Docker allow companies to easily establish a DevOps culture by providing a way to simply enact software changes or acquire new servers or VMs for their virtual environments.

Why Both Sides Should Care

Imagine an application development world where both sides sit down, from the beginning, and discuss every step in the process of development. DevOps means that developers communicate with operations teams regarding their vision for the end product. What tools does it need? What niche should it target? What services should it offer? Developers can take that information and write code that, from the start, is more likely to answer all those questions. In the process, both sides do less running around putting out fires and pointing fingers when problems arise in the end product. Both development and operations employees should rejoice at the chance to work in a DevOps office culture. For developers, the adoption of DevOps means managing fewer disasters. Issues can be caught before code goes into production and small bugs turn into catastrophic bugs. Better yet, developers play a greater role in shaping the final product. Rather than writing code that is passed along the line and can result in a product that looks vastly different, developers provide continuous input throughout the project to help craft the final image of an application. Operations employees can relax knowing that the end product will cause fewer headaches for end users. There is no such thing as a foolproof final product, but with DevOps, both sides benefit from a smoother process that creates a better end product. When that end product is better, operations teams implement better applications and developers have less work to go back and redo every time there is a hiccup in the system.

And now for something completely different:

Sometimes you have to learn through example. And what better cultural resource than humor?

Image: Flikr/woodleywonderworks