Skip to content
loading...

Explain DevOps like I'm five

twitter logo github logo Updated on ・1 min read  

For a while now, I've heard software engineers talk about DevOps and I just can't wrap my head around the idea. I tried digging into it one time and met even scarier terms like continuous integration etc.

Can someone explain DevOps to me and state its simplest purpose. You don't have to be a DevOps expert to contribute, any insight is valuable!

twitter logo DISCUSS (8)
markdown guide
 

To add to his discussion: It's very common for the term DevOps to be used to describe a role or a team. For example someone saying "Let's ask the DevOps person/team", when they really mean "Let's ask the Operations person/team".

DevOps is not a skill, role or a team, it's a working culture.

In its simplest form DevOps is the idea that teams who produce applications should be responsible for deploying, running and maintaining them.

This is an alternative to the traditional approach of separating development and operational concerns. Wherein developers build an application then throw that application "over the wall" to an operational team who are then responsible for deploying, running and maintaining it.

DevOps, in it's golden state, means that there isn't an Operations team or role. There are just cross-functional teams that have the capability to create, deploy and maintain applications in isolation.

 

Not to nitpick, but that’s NoOps, not DevOps. I’m DevOps we still have ops. The difference is they aren’t a separate part of the global org, so to speak.

It’s all one big tent

 

For a 5y old: if you use a drone/robot, the devOps are the guys who maintain your toys, clean it, replace the batteries and make it work better & longer.

img

For a 5y parent see Introduction to DevOps on AWS, ignore the AWS word and replace it with any cloud/hosting.

 

It has become a market buzzword, so when people refer to it nowadays they might mean anything. But I think originally DevOps had the simple premise of "you write it, you run it".

Previously, it was common in large organizations for one team to write system software (Dev) and an entirely different team to operate/support the software in production (Ops). This led to designs which were easy for Dev but hard for Ops or vice versa, depending on the organization. For instance, Dev might design a system with 3 different databases (following the Right Tool for the Job principle) without considering how much manpower it will take Ops to keep 3 databases running, patched, secured, etc.

DevOps aims to solve that problem by exposing Dev to operational concerns and Ops to Dev concerns. The idea being that since DevOps is responsible for both, they will design systems that are as easy as possible to maintain for both Dev and Ops concerns.

 

CAMS
Culture - give a crap about your coworkers
Automation - automate stuff so you have more time to give a crap about your coworkers
Measurement - Figure out how much you actually do give a crap about our coworkers
Sharing - Give your coworkers candy

I’m mostly kidding, but CAMS gets you where you need to go.

Devops is not “you build it, you run it”. That’s NoOps.

 

DevOps is a very general term that covers all things related to software delivery.

 

Thank you Kasey Speakman and JerbiAhmed, really helpful!

Classic DEV Post from Jul 21 '19

What's hard about React Hooks for you?

React Hooks are amazing, but require a learning curve... What's it been like for you?

Jordan Irabor profile image
A software engineer sitting in front of two desks and a mechanical keyboard. I build software at [Stears]('https://stearsng.com') and write tutorials for Pusher and LogRocket.

Hey there reader...

Do you prefer sans serif over serif?

You can change your font preferences in the "misc" section of your settings. ❤️