31 Mar 2016 - by 'Maurits van der Schee'
Consider the following well-crafted text about the malfunctioning of the collaboration between development and operations, posted anonymously to a developer forum I visit regularly:
NoOps: Developer operations manifesto
This is not pretty, but it must be said. We are tired. The madness must stop.
- We create software, the product that identifies our company.
- We are academic software engineers, trained to understand our work.
- We show responsible behaviour, creating as much value as possible.
- We do not like meetings, documentation or other waste in this process.
- We prevent problems by writing tests and by using versioned environments.
- We fix problems immediately, reducing the impact of issues dramatically.
We are not flawless, but that is neither your problem, nor your duty to solve.
- You operate the hardware underneath our software, the cloud, an ubiquity.
- You have commercial certificates, that proof you can do your work.
- You use hand-overs, procedures & documentation requirements to slow us down.
- You hide behind bureaucracy and use ISO standardization as an excuse.
- You prevent problems by adding infrastructure for staging environments.
- You make the infrastructure overly complex, using SPOF as an argument.
The cloud is here now. You have no place in the software process any more.
A commercial IaaS provider will allow us to take the responsibility we deserve.
It clearly shows the anger and the tension that can exist in a DevOps environment. I know from experience this tension is not one-sided. A call for better DevOps? What measures can be taken to prevent or take away these frustrations? Or is abandoning in-house managed infrastructure really a viable solution?