This is the conclusion of a three-part blog series. For more information, request our free e-book, SRE: The Cloud Native Approach to Operations.
Let’s start by defining the differences and similarities between SRE and DevOps.
SRE, or Site Reliability Engineering, is—as the name suggests—an engineering discipline that focusses on reliability. DevOps is a cultural movement that emerged from the urge to break down the previously mentioned silos of Development and Operations. SRE is a job title. DevOps isn't.
Both DevOps and SRE require and adopt Agile principles and Continuous Integration/Continuous Delivery of software (CI/CD), and both emphasise monitoring/observability and automation (though perhaps for different reasons).
SRE, which evolved at Google to meet internal needs in the early 2000s independently of the DevOps movement, happens to embody the philosophies of DevOps, but has a much more prescriptive way of measuring and achieving reliability through engineering and operations work. In other words, SRE prescribes how to succeed in the various DevOps areas. For example, the table that follows illustrates the seven DevOps pillars and the corresponding SRE practices.
DevOps in a nutshell
By taking over operational responsibilities, cross-functional DevOps teams optimise for zero handovers and therefore shorter lead time. As teams are typically small—following the famous Amazon ‘Two-Pizza-Teams’ rule, a highly automated software delivery process is critical to prevent manual work.
But DevOps does not explicitly define how to succeed with DevOps; it only describes the behaviour of such an operational model, which might explain the variety of different DevOps implementations.
SRE in a nutshell
As modern infrastructures and service-oriented application landscapes grow more complex, proven principles from software engineering are applied to handle the operational complexity. This includes building foundational platforms as layers of abstraction, but also incentivising standardised and well-architected applications by offering operational support for them.
To be able to build well-architected applications and reliable platforms, SRE needs to be prescriptive. In other words, SRE prescribes how to succeed in the various DevOps areas.
Here's a side-by-side comparison. (If you are reading this on a mobile device, you can download a PDF for easier reading here.)
Want to learn more? Click below to request a free copy of our e-book on SRE. And go here learn about Container Solutions' version of SRE, our Customer Reliability Engineering service.