Thoughts about DevOps
When I first heard about DevOps a few years ago my immediate thought was "do we really need to label this mindset?". I always assumed that development and operations we're so codependent that trying to seperate them wouldn't make the least bit of sense for anyone. All of the sudden we need to define a set of principles for what can only be described as the most logical approach.
Developers need a thorough understanding of the complete application stack in order to create a robust, stable and fast application.
The same goes for operations professionals, they need to atleast have a basic understanding (the more, the better) of the applcation they're managing to make sure it behaves the way it should under various circumstances.
Based on various experiences, discussions with fellow colleagues, both developers and operations professionals I've come to the conclusion that there still seems to be a pretty clear line between traditional operations and software development, atleast in most environments.
To put it somewhat harshly, developers are often not interested in the stack that their application is deployed on. They prefer to concentrate on business logic and leave such details it to the people actually doing operations.
Likewise, people doing operations often don't care about the intricate details of the applications they're deploying and managing.
This often results in developers and ops professionals throwing integration and deployment problems over the wall until they're resolved, which often consumes loads of time and by extension, money.
In my experience the cloud changes the usual balance between development and operations. With several providers now offering infrastructure as a service, the bar for doing operations-related tasks is lowered significantly. Developers can just provision new servers at will, and deploy/test their applications as much as they'd like.
The cloud does not make ops professionals redundant however, it just changes their roles and responsibilites slightly. Management of servers is still required, but ideally ops professionals should embrace DevOps practices and focus on automation which in turn is more closely related to development, than traditional ops.
The cloud blurs the line.