DevOps definition has been changed from the time it was coined a decade ago. It was defined by the famous clash between Dev teams and Ops teams but these days it seems most Ops teams work in harmony with Dev teams thanks to DevOps culture. It seems that the reason behind naming it DevOps is not that common these days. DevOps, made DevOps name unfit.
Some suggest a different name like Reliability Engineering to opt-out Dev and Ops clash and replace the cause with new definitions like the “Error Budget”. In Google’s SRE book, error budget is one minus the availability target. A service that’s 99.99% available is 0.01% unavailable. That permitted 0.01% unavailability is the service’s error budget. Error budget can resolve Dev and Ops structural conflict cause they can discuss and reach an agreement about how to spend this budget.
There are other changes too; For many companies, Ops definition has been changed during the last few years. Many operational tasks shifted more toward Cloud infra and as a result, part of Ops team daily work offloaded to Cloud infrastructure and service provides. Practising DevOps methods and Software Reliability Engineering (SRE) principles is becoming the daily job of any Ops team which is moving to cloud. In many cases, team names changed to Infrastructure Team or Cloud Services Team or just simply DevOps Team.
So DevOps Culture and SRE mindset are not just some cool ideas to checkout but real concepts that teams need to work with every single day. But what is DevOps culture? How we define SRE mindset? And what has been changed in DevOps practises in the last few years?
I believe the original ingredients of DevOps didn’t change that much; Culture, Automation, Lean, Measurement and Sharing. While all four other pillars are pretty important, they would be useless without culture.
Culture is common or accepted ideas, customs and social behaviour of a particular society and in this case organisation. It acts like the glue which holds everything together. Without DevOps culture, you might have bits and pieces but there are not going to work together.
So let’s go back to the original question; What is DevOps culture anyway?
I believe the keyword to DevOps culture is collaboration. As soon as different teams in the company and each team member inside a team, start collaborating with others, either for improving automation or lean development or suggesting new measurement methods for monitoring and metrics analysis, or sharing ideas, findings and experiences with others, DevOps culture starts showing its effects. Changing service availability approach from avoiding failures to concepts like “Error Budget” can help companies to accelerate DevOps culture.
Culture is about people and DevOps culture needs people to believe in it to work. From each team member to different levels of organisational management.