What exactly is “DevOps”?

675 views

I don’t quite understand how devops is different from software development. They’re closely related, but I’m just kinda stupid. Please explain it to me

In: Engineering

6 Answers

Anonymous 0 Comments

A developer writes the code for an application. Their responsibilities include:
– writing optimal code
– good algorithms
– good data structures
– writing correct code
– meets the business needs
– does not explode when it runs
– maintaining code
– fixing bugs
– taking feature requests
– building new features

Operations runs that code in production. They aren’t talked about as much but their responsibilities might include:
– compiling optimal code
– testing optimal code
– unit testing
– integration testing
– e2e testing
– rolling out code
– blue/green deployments
– rolling deployments
– rollbacks
– migrations
– keeping code running
– live site
– incident management
– security
– logging & metrics

There’s a _lot_ of overlap between these two and depending on who you ask the responsibilities might vary – testing & compiling is often the developer’s responsibility or the partial responsibility of a third group (test), operations might be involved with any new feature requests, etc.

There’s also a _lot_ of places where you can be more productive by knowing “both sides” of the coin – if you write unit tests when you write code, it’s much faster; you can better deal with incidents if you know the code underneath; creating rolling deployment capable applications requires you to understand both sides; etc.

“DevOps” refers to the practice of mixing these two roles to get these benefits. Your developers understand operations; your operations team understands development. They might work in the same room, be the same people, or report to the same manager. You might loop developers in to on call rotations or ask operations to deal with bug fixes.

Compare with the “traditional” model, which saw these as two separate teams – developers would hand finished applications over to operations, who would deploy them to production & manage them once live.

You are viewing 1 out of 6 answers, click here to view all answers.