Classic DevOps misspell on a YAML
If you are reading this article you already know it but for those in the back who don’t:
DevOps is a culture, a movement, a philosophy if you will; that aims to foster collaboration during the Software Development Life Cycle*.*
DevOps is not a role or a set of tools or (just) a metodology.
It is indeed achieved by adopting tools, approaching to software the (real) agile way, creating processes and yes, hiring the right people too.
I’ve been around the DevOps/Cloud area of the IT industry for a few years now.
In time, I experienced the DevOps adoption processes multiple times, in different kind of companies from day-1 all set to moving monolits to the Cloud.
Good old manual SysAdmin with long and complex bash scripted deploys?
Been there, done that.
Rising peaks of setting up GitOps in the cloud and spinning pods in a few clicks?
Tell me about it.
From just giving more responsibility of the Operations to Software Engineers to making Ops people aware of the software they were deploying and operating.
Yep, unfortunately enough Docker doesn’t solve all of your issues.
Like all the good things, in time, DevOps shifted to be something it is not.
A job title and a buzzword more than anything.
A role in which people are supposed to deal with a confusionary set of Cloud-related tasks ranging from the complex management of Kubernetes Clusters to the repellent manual IAM onboarding.
Ticket storming at them all day, left and right, leaving little time for meaningful tasks.
Big techs aside, there are a few companies out there, able to implement and manage DevOps at scale and even some of those successful companies end up throwing away money, time and a number of engineers in the process.
Let’s dive into what I think could be some causes of this DevOps drift.
1. DevOps/Cloud teams are overbooked
On the bright side, if your company has a DevOps/Cloud team your are already one step ahead of your competitors: yay!
Wait a minute, this team handles: databases, networking, security policies, roles, cloud environments, accesses and security too.
Most probably through a messy IaC repository, writing poor Terraform code with little if any naming convention, no templating, all carefully handcrafted and repeated throughout your code base.
Or maybe it is just an illusion
You will soon discover how fast both your Software Engineering team and DevOps people can get frustrated, witnessing the effects of sedimented DevOps.
2. Silos are (never really) broken, infrastructure is!
Keeping everybody on track, aiming towards the same objective is not a walk in the park, even