What is actually DevOps?
DevOps is a broadly used IT term, but what does it actually mean? From my conversations with colleagues and clients I often find that the term is used with different intentions. Which is natural, since as with many high-level IT terms, there is no exact definition for DevOps. In this blog article we will go over a brief history of DevOps and propose two simple definitions.
Two main meanings
The roots of the term DevOps come from the idea that in a given software organisation Software Development and IT Operations can work together and collaborate instead of working strictly in silos. According to online references the term started to emerge in 2009 when the first DevOpsDays conference was held in Ghent, Belgium.
Since then DevOps has become a common term in the IT industry and there are yearly DevOpsDays conferences in many cities around the globe. I believe it will not be an overstatement to say that from small startups to large enterprises, everyone is looking at how to leverage the benefits of DevOps.
There is no single meaning what exactly DevOps mean, I find however that the way people are using nowadays the term, they usually tend to mean one of the two:
A) DevOps the culture
A culture, mindset, set of development practices, tools and techniques that make a software producing company more efficient by automation and breaking silos, where people collaborate (instead of working as they are not on the same boat).
Example usage in a sentence “How far is your organistaion with implementing Devops ideas and principles?” or “Is your Ops team responsible for deployment of the applications or your development teams can deploy themselves in a more DevOps manner?”.
B) DevOps the role
A role, as in a DevOps Engineer. Someone who has experience in setting up development environments, provisioning Servers and Cloud infrastructures, setting up Firewall rules etc., while also being aware of the pains that Software Developers are experiencing with inefficient Dev environments. Someone who can setup a development infrastructure, so that the developers can develop, deploy, monitor their software in an efficient and painless manner. Someone who is proficient in IT Operations Topics (another somewhat historical term is system administrator) but also has experience in developing code, e.g. automation code, infrastructure-as-code.
Example usage in a sentence: “Bob is the DevOps in our team” or “Let us ask the DevOps team for consultancy on that matter”.
I, of course, am not claiming extensiveness and completeness here, the term may and probably does get used also in other contexts. Please do let me know via twitter, mail or LinkedIn if you find there are other important aspects of the term DevOps.
If you want to see more about the history of DevOps consider checking out the following resources:
Photo by Taylor Vick on Unsplash
Author: Luben Alexandrov