This is a question I had pondered this weekend while attending Vancouver’s inaugural devopsdays. I had thought it was something along the lines of developers taking on more responsibility of their applications through its entire life cycle. And to some to degree that is correct, but to my surprise, very little discussed the failures of developers to take on more responsibility and manage their applications, but rather the frustrations of operations people overwhelmed with unwieldy IT infrastructures setup with short-term, ad-hoc methodologies.
What I learned is that regardless of your org structure and what you consider to be ‘devops’, the importance of somebody –whether it be an operations person or a developer– designing a systematic, reproducible, automatic IT infrastructure is critical to your organizations ability to ship fast, with quality and high morale. If these things are in place –and there is no shortage of tools to do so– then empowering developers to embrace these tools, deploy and maintain their applications becomes systematic.
DevOps doesn’t have to be some add-on to a developer or operations position, but rather a set of principles in which to create and manage infrastructure.
So that, to me at least, is what devops is.