DevOps Part 1: It’s More Than Teams

DevOps:  yet another buzzword everyone seems to be throwing around lately.  Just like any buzzword, there are many vague definitions, leaving people confused about what it really means. For example, you may be thinking, “My Development and Operations teams are working together, that’s DevOps.”  Not really. If you are thinking it is a people term, then you may need some clarification on how public cloud comes into play.  Let’s start with a proper definition.

What is DevOps?

DevOps is more about technology than the teams.  Don’t get me wrong, development and operations teams working together effectively is essential, but without the technology, there is considerable room for human error and team dysfunction.  Often when an issue arises, both teams point at the other and argue about the source of the problem – the infrastructure or the code.  This never-ending cycle probably sounds familiar, and it undermines your IT organization’s success.

DevOps tools like Jenkins, Ancible, and Docker facilitate collaboration and communication between the two teams, and automate the process of software delivery and infrastructure changes.

Example:

Someone on the Ops team has to manually copy databases, code, and file structures from the development environment to the test environment.  A single misstep in copying or placement of each critical piece breaks the application completely, leading to endless questions.  Is it the hardware, the OS, the code, the database, the file structure? It could be as simple as missing a file level in the copy process.  With DevOps tools, you can automate the copy of these pieces from one environment to another without any manual interaction, avoiding such missteps (and the blame game).

Why DevOps?

Let’s be honest, developers and infrastructure resources speak two completely different languages and getting them to communicate usually requires a translator.  In the past, it was rare to find a resource that understood both sides and could mediate an agreeable solution for all involved.  Those of us that have been in this long enough, have lived that nightmare.  Today, DevOps tools come to the rescue by automating this part of the lifecycle to avoid human errors, bridging the gap between both teams, and drastically reducing your time to delivery.  My recommendation is to begin evaluating DevOps tools immediately.  Next, you’ll want to think about where you’ll host them.

Placing your DevOps tools in the public cloud space provides two additional key benefits to your IT organization:  automation and simplicity.  Stay tuned for our next post, where I will cover each of those reasons in depth.

Find out why DevOps and public cloud go hand in hand in part 2!