In a previous blog, we discussed the rigid thinking that defines much of traditional IT. The ITIL was explored as an example of where this thinking may come from, though the phenomenon is not specific to just organizations that have adopted ITIL practices. In contrast, we will now explore the growing philosophy of DevOps.
There have long been walls of separation between computer software development teams, software QA, and IT operations. Ultimately, we would prefer the representatives of these particular fields to be specialized and bring ideal expertise to their roles. In any organization that is delivering “shrink-wrap” solutions or embedded systems with long lead times, it is natural to maintain these disciplines across clearly divided departments. However, note that “shrink-wrap” software is all but dead and the functions of embedded systems are starting to integrate within mobile devices. What is going to become of these disciplines? Currently most organizations maintain much of the classic interplay between development, test, and IT, but almost all are looking to become more agile. Whether they adopt strict “agile” development is beside the point; what matters is that they are confronting the fact that mod ern applications often run 24/7, have millions of users, and are subject to strict SLAs. There is also the uncomfortable reality that it is sort of silly to test modern web-based production code in a validation environment – nothing a validation team simulates can accurately reflect the uncertainties brought on by the countless factors at work on the internet.
This is where DevOps comes into play. Though it has no formal definition, it is marked by professionals that have all the skills needed to code and test, have the analytical insight to deliver business value, and have the deep knowledge required to maintain systems. Not every organization has officially-designated DevOps professionals, but their job requirements are universally trending towards this model. Amazon CTO Verner Vogels has summed up the need for breaking down the wall of separation in software very nicely:
What is true for Amazon and other web giants usually becomes true for the wider IT world, meaning that it is time to start embracing DevOps.