When two good things come together to make something great, something truly special is born.
Consider for a moment the peanut butter and jelly sandwich. We might think of peanut butter and jelly as an American mainstay, but that wasn’t always the case. First came the peanut butter, which actually started out as a medicinal treatment. Then came the jelly, which developed (at least as we know it) near World War I. Putting the two together didn’t occur regularly until World War II, when soldiers wanted to make the peanut butter taste just a little bit better.
Yes, I am hungry, but the history of the PB&J is a great metaphor for the evolution of DevOps. Like a PB&J, the two sides of DevOps developed separately, but now people have started putting them together and magic is happening.
Basically, with DevOps you take the creamy goodness of agile infrastructure and the sweet tang of cross-company collaboration and you get something new and something timeless.
Unlike a PB&J, however, DevOps is new and exciting. In that respect, it’s more like a deconstructed peanut butter treat with a grape reduction, something you’d find at a cutting edge restaurant. It’s something familiar and yet distinct, and I think that you’ll find it’s going to become your new favorite dish.
Evolution of DevOps: Bringing Together the Development
Okay, now that I have gotten a bite to eat, let’s leave the food metaphors behind and look at exactly what DevOps is.
DevOps is essentially a collaboration between the operations and development teams throughout the lifecycle of a product or service. It’s a mashup (or portmanteau, if you want to get fancy about it) of “development” and “operations.”
Development and operations are fairly broad terms, but just to be perfectly clear, development means the team creating the services and products for your business. This includes teams like QA, product testers, as well as more specialized positions like programmers and designers. Operations are typically the people that support a product after its release, like sales teams, customer service teams and the like.
Because these terms are so broad, they are used widely across a number of industries. And that’s why DevOps has so much potential to revolutionize industries: because it’s a simple and powerful idea that takes commonplace ideas to the next level.
Greater than the Sum
Okay, I understand that nothing seems too revolutionary just yet. That’s because we’ve looked at some basic business concepts. But just like peanut butter and jelly are both mundane things, DevOps is more than the sum of its parts.
So what really happens when development and operations are mashed together?
DevOps is all about unifying two processes that have historically been siloed. Programmers would plug away on some code all night, while the customer service team would wait on the latest product launch or tend to existing products. DevOps recognizes the importance of agility and the benefits of multi-discipline employees. But don’t think for a second that DevOps is encouraging a jack-of-all-trades, master-of-none mentality.
While everyone still has their specialty and roles, in the DevOps model, these two teams are often merged together so they can work closely throughout the entire lifecycle of a product.
For instance, the scenario we just mentioned with the programmers and customer service team, in a DevOps model, the teams would be cooperating with one another from the get go. The benefits are immediately apparent. Say the customer service team received some customer feedback on the last iteration of a program. They can immediately relay with the programmers to devise improvements on the next program. Furthermore, the programmers can take that knowledge and improve other products proactively.
Essentially, then, the DevOps model takes the traditional feedback loop of building, testing, and releasing and cuts down on time and ups efficiency. And it doesn’t matter what industry you’re in, if you can cut improve either factors, you’re giving your business a major boon.
The other added benefit is, of course, that all of your employees will start to understand the processes of other departments better.
Tools of the DevOps
DevOps teams don’t just mash a couple departments together and call it a day. While some businesses choose to create this collaboration by physically moving offices, most businesses will (also) employ specialized tools.
Because teams will be dealing with a lot more data, DevOps often revolves around big data aggregators, like Splunk. Tools like Splunk allow teams to search through massive amounts of data while getting exactly what they need. For example, in Splunk the development team can perform real-time queries and find errors and monitor performance without needing to ask for production logs.
The Future of DevOps
DevOps didn’t just come from nowhere. It evolved out of agile infrastructure and operations. It’s inevitable that the collaborative aspects of DevOps will become a core part of business philosophy going forward and as the amount of data we are creating, processing and using grows it’s likely we’ll see other hybrid disciplines emerge. In the same way the world is becoming smaller through interconnectivity and information sharing, company silos are coming down. The need for collaboration and, at times, consolidation is becoming more and more apparent and the creation of the DevOps practice is a great example.