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