Since Agile-based development has emerged we’ve seen an increased demand for sweeping changes in the IT culture itself. As you are no doubt already aware, a recurrent problem with most IT operations is that significant problems can often emerge from simply altering one line of code (or, making minute adjustments on the development side of the fence). Ideally, you’d want to be able to simply make any necessary changes, test it for functionality, and move on with your life and career. However, this isn’t how things tend to turn out, is it?
Often times, these small alterations will create serious problems and keep a large number of employees engaged for weeks at a time. In some of the more extreme examples, all of those on the development end are fighting amongst themselves for solutions while taking flak from management and those on the operational side of things. Meanwhile, those in operations are also bearing the brunt of their managers while they’re also trying to deal with unruly customers and the development team as well. Needless to say, this isn’t a situation that any IT operation or business wants to find themselves in. Perhaps a better question to ask is how can this be avoided?
Ideally, if everything that left the development team’s hands were absolutely perfect, then these issues wouldn’t exist. However, due to the fact that nearly everything is always in a constant state of flux or change, such a goal is virtually impossible. This is because the needs of customers and clients can often change without warning; also, current components often needed to be upgraded and new technologies are being integrated all the time. In short, for any development team to achieve “continual perfection”, they’d need to be omniscient (or, “all knowing”).
Of course, it is impossible for anyone to be able to perfectly predict future changes, which brings us to the notion of increased cooperation, which is what DevOps essentially is. To put it simply, DevOps is all about bringing those on the development side of any operation into direct contact and collaboration with those on the operational side of the equation. It just makes perfect sense; rather than having developers guess which features customers or operators might need, or relying on impractical tests which don’t indicate functionality in the real world, DevOps breaks down the silos and brings everyone together to deal with problems as a group.
Does this mean that everyone is crazy about DevOps? Of course not; some people (as you well know) are opposed to change and others simply don’t grasp the concept of why they need to hear considerations from those who don’t know how to perform their duties. But when you look at the positive impact that DevOps has already had on IT culture, it’s difficult to turn away from it.
What is DevOps really all about? Look no further than the acronym, CAMS:
- Culture – In this instance, culture refers to the routines, processes and general methods / atmosphere that inform the IT community.
- Automation – Once you’ve built a solid culture, the components need to run projects often come together in the form of automation. What’s important here? Release management, configuration management, provisioning, monitoring, systems integration, control, and orchestration are all important facets of Automation.
- Measurement – The only way you can really know about the effects of any particular action you have to measure, correct? It is through near-constant measuring that those in DevOps are able to gain more instantaneous access to critical data indicating whether or not their actions are successful or not.
- Sharing – If DevOps is to be truly successful, then sharing and communication among all involved parties is a must (as is trust).
In all reality, DevOps should be able to better align the abilities of IT with broader business goals as well as help reduce the threat of potential risks (structural and financial). Likewise, DevOps couldn’t have come onto the scene at a better time, given that state of the global economy, that is. For larger businesses in particular, it is often the threat of unforeseen risks which pose significant threat to short and long-term business goals. For example, just think about how many times you’ve read a financial / tech headline involving losses at a major company; notice how not paying attention minor details during a new product release can often cause an entire corporation’s stock price to dip down.
Is DevOps the future of IT? On paper, it certainly seems that way; however it’s really impossible to tell what the future holds. The entire IT industry could greatly benefit from a shift away from isolation; likewise the culture itself would certainly become more energized through increased collaboration, don’t you agree? In a way, the increased adoption of DevOps is a choice that the entire IT industry will have to make for itself. Regardless of what direction is ultimately taken, DevOps is certainly one of the more promising propositions to come along in quite a while; let’s hope things work out for the best.