Introduction

Before we go to the definition of SRE, let’s discuss the SRE history. SRE practices were originated at Google in 2003. Few challenges the Operations teams faced once they inherited the product from the Development team are scaling, operations stability. Google addressed this issue using SRE where software engineering practices were followed at the Operations team by SRE. SREs were given similar tools as developers and focused on improving product reliability. If Google search doesn’t work, SREs would be the first to address the issues and not the Development team.

Outside of Google, these problems were addressed by adopting DevOps.

As people from Google left the company, SRE started to spread to more organizations and customized to their requirements, this resulted in different implementations of SRE.

Site Reliability Engineering is a Software Engineering discipline that helps organizations sustainably achieve appropriate levels of reliability.

Site Reliability Engineer Role

To identify and manage asset reliability risks that could adversely affect business operations.

SREs spend up to 50% of their time doing "ops" related work such as issues, on-call, and manual intervention

SRE should spend the other 50% of their time on development tasks such as new features, scaling, or automation. The ideal SRE candidate is a highly skilled system administrator with knowledge of code and automation.

Skills

Certifications

Why SRE?

Challenges faced in product development,

DevOps vs SRE

SRE is not just improving the reliability of a system today, but making it better as it changes and grows over time

Key principles and practices

Service Level Indicator – Indicators of Service Health, point in time metric

Example – Request Latency, Request per second, Failures per request

Service Level Objective – a binding target for collection of SLIs, represented as lower bound <= SLI <= upper bound.

Example – Availability should be 80%

Service Level agreement – a business agreement between a Customer and Service Provider typically based on SLOs

Error budget – the difference between the service’s potential perfect reliability and its desired reliability. It is calculated for a set period (monthly or quarterly)

How to setup SLIs & SLOs?

Example for SLOs and Error budgets

How to control error budgets?

Conclusion

Each of the organizations has come up with its own customized implementation of the virtual workforce or SREs as per need. It is up to the organization to understand the reliability targets by-products and setup SRE practices accordingly.