What's the difference between DevOps and Site Reliability Engineering?
Simply put, SRE is only the operations side of DevOps.If you’ve learned the terms DevOps and Site Reliability Engineering (SRE), you could be forgiven for thinking the might be synonyms. But they’re really not.
Let me start with some definitions.
-
DevOps is a set of approaches for aligning the goals of Developers and Operations without silos. In a word, DevOps is cooperation.
-
Site Reliability Engineering is, according to Google, who originated the concept, “what you get when you treat operations as if it’s a software problem.”
-
There’s also the job title of Site Reliability Engineer, which refers to an individual contributor on a Site Reliability Engineering team.
So how do DevOps and SRE fit together?
Well, simply put, SRE is only the operations side of DevOps. An SRE team provides services to other (dev) teams, sometimes called operations-as-a-service or a platform team.
In a sense, what makes SRE stand out from some other approaches to operations is that “Dev” is one of the internal practices they use to perform Ops. So in that sense, you might be able to think of it as a DevOps team providing Ops services to other Devs. What? LOL.
“SRE” is also a legitimate job title, unlike “DevOps Engineer”, since Site Reliability Engineering is a specific set of technical practices.
To take take the concepts a bit farther: You can have an SRE team and not have a DevOps culture. That is to say, an SRE team alone doesn’t remove silos.
You can also have a fully mature DevOps culture without using an SRE model of operations.
So while the terms are somewhat related, they’re also very distinct, and should not be confused with each other.