DEV Community

loading...

Explain DevOps like I'm five

Jordan Irabor
A software engineer sitting in front of two desks and a mechanical keyboard. I build software at [Turing]('https://turing.com') and write tutorials for Pusher and LogRocket.
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!

Discussion (8)

Collapse
leightondarkins profile image
Leighton Darkins

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.

Collapse
mattstratton profile image
Matt Stratton

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

Collapse
bgadrian profile image
Adrian B.G. • Edited

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.

Collapse
kspeakman profile image
Kasey Speakman • Edited

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.

Collapse
mattstratton profile image
Matt Stratton

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.

Collapse
jerbiahmed profile image
JerbiAhmed

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

Collapse
jordanirabor profile image
Jordan Irabor Author

Thank you Kasey Speakman and JerbiAhmed, really helpful!