DevOps is a concept that has materialized fairly recently, yet is already adored by so many people. Obviously, the fact that it bridges the chasm between software development and operations is pretty exciting, but there seems to be something extra that people love. So without throwing around too many corporate buzzwords (besides “DevOps”, of course), what could that extra something something be?
One of the allures of DevOps is its ability to speed up the back-and-forth between Devs and Ops. By helping developers and system operators work together, it leads the two departments to clearer and more transparent interaction, breaking down the silos housing Devs and Ops. This increase of speed is not limited to the interactions between both of these groups – it also gives companies the ability to continuously deploy new iterations (i.e. multiple times per day) of their infrastructure, as opposed to rolling out relatively large deployments over a vastly longer period.
Because of its nature, which encourages collaboration, DevOps leads to greater stability. Because of this collaboration, there are more eyes on every deployment, meaning that there’s also a greater chance of someone seeing a potential serious flaw before a release occurs – DevOps, in practice, basically creates a safety net. DevOps can also lead to stronger app security. Increased security is related to the fact that DevOps leads to shorter time between releases; the complexity of the coding is reduced because of overall smaller, more frequent deployments.
The concept of DevOps doesn’t simply offer a solution to a problem; it also has the potential to create a positive change in a company’s culture. Creating synchronization and strong communication between Devs and Ops can be paramount in getting rid of some of the headaches that come with changing a company’s infrastructure. This can make everyone happier and easier to work with, especially given how difficult it can be for developers and system operators to work together at times.
Put simply, DevOps has the potential to create peace between developers and system operators.
DevOps Still Has Room to Grow
DevOps is far from complete. The “synergy” (sorry, I had to throw in at least one other buzzword ☺) that DevOps creates between developers and system operators can be expanded to other departments, like marketing or sales. Essentially, if everyone in a company can be on the same page, regardless of what business function they support, the company’s efficiency will be significantly improved.
Great, So Everyone LOVES DevOps Right?
There are plenty of people who see DevOps as more of an abstract idea, or as an arbitrary title, than a true business function. A strong reason for this is probably due to the fact that implementing a “DevOps culture” is easier said than done. Just because a company says: “okay, we want our developers and system administrators to work together, let’s hire a DevOps person”, doesn’t mean they have any idea just how to find an effective one, or even what specific role this person should play.
Another argument against DevOps comes from the fact that developers and sysadmins’ workflows could be potentially thrown off by someone becoming more involved in managing exactly how deployments are implemented. For example, a comment I recently encountered from a developer on why they find little value in DevOps cited their desire to code at their own pace being potentially ruined by meeting an “agile” deployment cycle.
Hmmm, So is DevOps Worth Pushing in My Organization?
Obviously, this argument will have different answers depending on the company considering using DevOps. It seems DevOps is generally a good idea for a company that:
- Has a rift in communication and execution between its developers and system operators - Needs to implement more frequent and less complex deployments - Has a lot to lose as a result of poorly implemented deployments - Knows what DevOps is, and that has a clear understanding of HOW they plan to integrate a DevOps culture