Book Image

Becoming a Rockstar SRE

By : Jeremy Proffitt, Rod Anami
Book Image

Becoming a Rockstar SRE

By: Jeremy Proffitt, Rod Anami

Overview of this book

Site reliability engineering is all about continuous improvement, finding the balance between business and product demands while working within technological limitations to drive higher revenue. But quantifying and understanding reliability, handling resources, and meeting developer requirements can sometimes be overwhelming. With a focus on reliability from an infrastructure and coding perspective, Becoming a Rockstar SRE brings forth the site reliability engineer (SRE) persona using real-world examples. This book will acquaint you the role of an SRE, followed by the why and how of site reliability engineering. It walks you through the jobs of an SRE, from the automation of CI/CD pipelines and reducing toil to reliability best practices. You’ll learn what creates bad code and how to circumvent it with reliable design and patterns. The book also guides you through interacting and negotiating with businesses and vendors on various technical matters and exploring observability, outages, and why and how to craft an excellent runbook. Finally, you’ll learn how to elevate your site reliability engineering career, including certifications and interview tips and questions. By the end of this book, you’ll be able to identify and measure reliability, reduce downtime, troubleshoot outages, and enhance productivity to become a true rockstar SRE!
Table of Contents (27 chapters)
1
Part 1 - Understanding the Basics of Who, What, and Why
5
Part 2 - Implementing Observability for Site Reliability Engineering
10
Part 3 - Applying Architecture for Reliability
16
Part 4 - Mastering the Outage Moments
20
Part 5 - Looking into Future Trends and Preparing for SRE Interviews

Splitting and balancing the workload

As SREs, our first order of the day is to ensure we split and balance the workload among the shared resources and backing services. Partitioning the load impacts the reliability as it isolates failures to small sections of the total population. Balancing the load also improves reliability by assigning less loaded resources to attend to a new request, thus decreasing latency. We will understand each concept next.

Splitting

We split the workload based on the consumer profiles as a general practice. We can employ many criteria items to divide incoming requests, but some are frequent in the designs. If the solution is a multi-tenant product, splitting the load by the tenant is a must-have requirement. An independent resources group will serve each tenant. A second example is a global deployment where users are present in many countries. Having the load partitioned by geographical regions is a good practice. Multiple application instances must...