Let's be clear, DevOps is just becoming out of control, everything is DevOps, or worst, DevSecOps, DevSecFinOps, DevOpsOps (sic). The original definition of the word is lost, and it is hurting badly a lot of jobs: Sysadmin, DBAs, SREs.
Let's put things straight, We Love DevOps, but it's time to call a spade a spade, it lost its values, and is now associated with suspicion in a lot of professional areas: a lot of consultants or marketing people are abusing it when some developers are called DevOps because they can ssh on a server or write some YAML, but they are completely missing the rest of the job: Infrastructure, monitoring, logs, traces, network, ...
We think it's time to restore the status of DevOps!
According to Atlassian, DevOps really took off in 2007-2008, as a way to describe how to properly manage a company, because DevOps is not about tools, it's about culture and management, and to be clear, even if Patrick Debois conceptualized it, it got some success because of another revolution: the Agile Method.
Agile Method vs V-Cycle
I could write a long article only about this topic, but I like very much the description from Cegedim:
As features are delivered incrementally, the Agile model ships a working version of the product very early compared to V-Model.
Back to DevOps
How did this change in development paradigm impact the DevOps movement?
Imagine: on one side, developers are shipping faster and more often, on the other side, Ops are still thinking about budgeting 3 years in advance, and calculating the depreciation of servers, it had to clash!
Some companies completely collapsed because of this:
- They were not competitive anymore
- Or worse, developers took the job of Ops, and created some big mess!
So how to solve this? You merge both teams and put common goals.
The idea gained ground, and most companies did the switch because they saw the improvement, as it was the logical way to mix build and run! Nonetheless, the definition of DevOps started to slowly decline, due to an abuse of companies using it in order to attract talent and detach themselves from the "old industry": banks, factories, telecoms, etc...
DevOps: the noisy forfeiture!
Our tech world got contaminated by some people, as being a nerd started to be trendy: marketing.
They started to put DevOps everywhere: any startup which was developing a tool, it was a DevOps tool. obviously (nowadays, we are seeing the same with Blockchain, and AI). And everybody got convinced about it, because, to be fair, these marketing teams are good! Anyway, the abuse started to become a crazy mess!
Thanks to some big consulting companies, we also started to see some new terms: DevSecOps, FinOps, DevDevOps (a full-stack dev with some ops knowledge, ...)!
Why do you need DevSecOps? Does it mean that DevOps does not care about Security?
10x Software developer Myth
To be fair, marketing is not the only responsible item to destroy DevOps, the other one was the startup model. Startups should be built around one individual, a genius, or entrepreneur, which is able to do everything, and it has been like this in pop culture:
Furthermore, Cloud Computing was a good way to avoid dealing with a lot of "old" problems, and make some system scale without having the underlying knowledge: you were a DevOps if you could go in AWS and spin-off 3 VMs and 1 database on RDS (RDS was launched in 2009)!
The Ops got cut out of the equation as their traditional job was automated and provided as a service, but their job was still important, only developers would figure it out too late (like when you get your surprise 100kUSD bill from AWS).
Holy Grail Developer
This situation created multiple consequences:
- DevOps became only Dev doing some Ops without having the full knowledge of it
- Ops lost their job, as managers decided to cut loose these expensive profiles, because "everything is in the cloud now"!
- The Dev became the Holy Grail, supposedly having a complete vision from the code to the infra!
The main consequence: Ops people got frustrated that some Dev without proper knowledge took their jobs (and crashed some systems, which sometimes cost millions).
DevOps is how to make people work together, not transforming Dev into an ersatz of Ops, and firing the real Ops!
How to bring DevOps back to its original definition? Again, it comes from management.
Bring the Ops before the development starts
How many times do you see some promises which are too good to be true? How many times do you have Dev infected by the Hello World syndrome?
Have you seen how AWS recommends deploying WordPress?
And worst, you have an easy launch button!
This means that any Dev without any AWS knowledge can deploy this infra!
But where is the cost estimation for the maintenance? The network? how do you debug it? Where is the monitoring?
And that's the biggest problem: Cloud providers are providing an easy solution to complex problems, but guess what? Complex problems cannot be solved with an easy solution!
As Quentin Adam wrote it, and I do agree with him: there is no technical debt in the code (in French, sorry). However, you can have some on mines on the infrastructure! Some concepts are still not understood by developers, and it's normal: it's not their job!
We got recently an example of a company, which built its entire data structure on MongoDB because of its web-scale capacities! The problem is that MongoDB was not the adapted technology to solve their problems, and they had to put on hold their entire development to migrate to PostgreSQL!
We need to underline the importance of building systems: it should be done with Dev and Ops, from the planning till the Run!
Love all, trust a few, do wrong to none.
We didn't write this article to change the world today, (but tomorrow should be ok!), We wrote this article to explain that DevOps, it's a symbiotic relationship, one part cannot survive without the other part, and they all have their specialties and specialists! DBAs should not be buried in the past, as they still have a job to do nowadays!
For the developers who think I'm just a gatekeeper, I will answer with a question: What do you think about people saying that developers are useless because they can do everything with no-code?
Finally, a recommendation for all startups, companies, and public services: have some Ops, even part-time, trust them, and keep a critical mind towards the marketing of Cloud companies.
If you have a problem and no one else can help. Maybe you can hire the Kalvad-Team.