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

A basic pipeline – building automation to deploy infrastructure as code architecture and code

GitOps systems that deploy pipelines are scripting engines that allow complex routines to run. These can be as simple as a single JSON, YAML, or bash script, or extremely complex, looping in other repositories, templates, and even external API calls. The basic ideals of pipelines are remarkably similar between vendors, even though the syntax may be different.

A typical pipeline will leverage variables in its decision-making for us. The pipeline system will introduce a number of pipeline variables, such as what directory the code is in, the hash of the latest commit, the repository name, and even protected values pulled from internal or external protected data storage engines.

The next essential part is the stages, or steps, of the pipeline. These can be used to compile code, deploy IaC, or even perform testing and scan code for malicious content. These blocks often are unable...