DevOps
Is a set of practices and a culture designed to break the barriers between developers, operators and other parts of the organization.
Reduce organization silos
by breaking those barriers across teams we can increase collaboration and throughput.
Accept Failure as Normal
Computers are inherently unreliable so we can’t perfection and when we introduce humans into the system we get even imperfection
Implement Gradual Change
not only are small incremental changes easier to review but in the event that a gradual change does make a bug in production it allows us to reduce our meantime to recover making it simple to roll back
Leverage Tooling and Automation
Measure Everything measurement is a critical gauge for success, and without a way to measure if our first four pillars were successful we would have no way of knowing if they were.
SRE
SRE is a prescriptive way of accomplishing that philosophy so if DevOps were an interface in a programming language you might almost say that SRE is a concrete class that implements DevOps
what is shared with DevOps is the following
-
Share ownership of production in SRE is the same as Reduce organization silos in DevOps
-
SLOs & Blameless PMs in SRE is the same as Accept Failure as Normal In DevOps
-
Reduce costs of failures in SRE is the same as Implement Gradual Change in Devops
-
Automate this year’s job away in SRE is the same as Leverage Tooling and Automation in DevOps
-
Measure toil and reliability in SRE is the same as Measure Everything in DevOps
DevOps And SRE aren’t two competing methods but rather close friends designed to help break down organizational barriers to deliver better software faster