I'm sure you've heard; DevOps is all the rage insert fancy clothes and glass of champag*n*e
No, but really. It's pretty popular right now. Interestingly enough, many organizations are hiring for it and have no idea what its purpose is. Some feel that it's an infrastructure role, others feel it's to look at CICD pipelines all day.
But what does it truly mean?
This blog post kicks off The SRE/DevOps Series. This series will be a 15-20 blog post series that talks about everything you need to understand DevOps, why it's important in today's world, and how you can succeed in the space.
What's DevOps?
Originally, DevOps was created and coined in 2009 by Patrick Debois. The purpose that he wanted to obtain with DevOps was to break down barriers between development and operations teams. If you've been in tech long enough, you know there used to be (and still is in some places) a mindset of:
- Give the code to the operations people so they can deploy it
- The code breaks the server
- The operations people don't want to deploy any changes because they want system uptime
- The developers want the code change because it's a new feature, hotfix, or component of an application that needs to be deployed
- Everyone is fighting
There was a lot of back and forth. Both teams blamed each other and nothing got done.
DevOps, originally, was supposed to stop that from happening.
DevOps is the combination of bringing teams together and making workloads more efficient for everyone.
It's Not A Title
When you ask someone if DevOps is supposed to be a title, most engineers will tell you no. I'm in the category that it shouldn't be and instead, it should be a practice. However, that battle has been more or less lost.
If you're still in the camp that it shouldn't be a title, then you're not wrong. DevOps, by definition, is a practice that should be within all engineering teams. It wasn't meant to be a specific team itself. It was meant to break down silos, not create a new one.
It Is A Title
Nowadays, you see DevOps Engineer titles all over the place. It's definitely an annoyance for folks that wanted DevOps to be what it was supposed to be, but the truth of the matter is times change. In a few years, the DevOps Engineer title will go away for something else. That's just how it goes.
The thing to remember is this; the DevOps Engineer title is one of the highest-paying tech jobs in today's world, so I'd like for you to think about it like this:
If it's the type of work you want to be doing and it pays what you want, who cares? Have fun and enjoy.
Why It's Important
Let's move away from the notion of what DevOps is supposed to be, and instead, think about what it is today.
It's literally a job that does everything; development, operations, CICD, containers, orchestration, scalability, cloud... and the list doesn't stop there.
The DevOps Engineer job today is one that is not a beginner-level role. It's very much an advanced, level 400 role. It's extremely important to keep that in mind.
With that being said, the question becomes - why is it so important?
In today's world, every company that isn't a software company, is a software company. Let's take an auto-parts store like Auto Zone as an example. They're a car company, right? Well, here's the thing; they have an app, and a lot of people use that app. It's used to buy car parts, look car parts up, hold membership information, etc... That's a key part of the business. Because of that, they're now thinking more about software.
Every organization, regardless of whether they're a tech company or not, is now always thinking about software. When thinking about software, management typically thinks about:
- How can we get features and the product into the hands of the customers faster
- How can the application and systems not go down
- How can we move faster
When you think about it, that all falls under DevOps teams. The DevOps teams are pretty much the people that are running the company at this point.
DevOps vs SRE
I get asked this question a lot; what's the difference between DevOps and SRE?
Regardless of who you ask, you'll always get a different answer.
What a lot of engineers do, including myself, is follow the Google SRE handbook. If you haven't read the handbook, you can get it for free here. When it comes to SRE and DevOps, DevOps is a subset of Site Reliability Engineering. I like to think of it as a child object of SRE.
Instead of DevOps being a title, the practices of DevOps are embedded into the SRE role.
Wrapping Up
This blog post is the first of many in the DevOps/SRE Series. The goal of this series is to help engineers from all over the world break into DevOps and understand what's happening in the DevOps space. I believe you'll get a ton of value out of this and enjoy the process along the way. Thank you so much for reading!