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

Breaking down and testing systems

In today’s technology, systems have become highly complex, often reliant on multiple systems, vendor-provided services, and a plethora of data storage and management mechanisms. Checking each independent API, vendor service, and database entry can take time – a rockstar SRE knows a better way! We can segment a system into areas of functionality and test large parts of the system – strategically testing.

When troubleshooting a simple desktop computer or laptop, we might consider testing the hardware separate from the operating system. For larger systems, we may look at database entries or application logs to verify the expected data exists. By breaking the system apart, we can choose middle points to test and then identify which half of the system is broken. Imagine that, with one test, you could validate the functionality of the entire frontend of your website or ensure that half a dozen APIs are working. Then, you can break...