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!
Top comments (9)
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.
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 way of working together that helps us make new things for the computer. It's like a game where we all have different jobs to do, and we work together to make the best thing we can.
Together, the developers, operations people, and testers make up the DevOps team. They work together to make sure the new thing is the best it can be, and they use special tools and techniques to help them do their jobs. And that's what DevOps is all about: working together to make great things for the computer.
DevOps is a very general term that covers all things related to software delivery.
Let me try this out
Please tell me how i did!
DevOps is a way of working that helps people in charge of creating and maintaining computer systems to work more efficiently and effectively. It's a combination of the words "development" and "operations," which refers to the different roles that people have in creating and running computer systems.
In a DevOps environment, people who work on writing code and building new features (called "developers") and people who make sure those features are working correctly and efficiently (called "operators") work closely together. They use tools and processes to make it easier to share information and collaborate on projects, so they can get things done faster and with fewer mistakes.
Overall, DevOps is about finding ways to work smarter and more efficiently, so that computer systems can be created and maintained more effectively.
I guess the five year old got to be really smart one.
Thank you Kasey Speakman and JerbiAhmed, really helpful!