To get the most out of this book
We purposefully used SRE as the acronym for site reliability engineer and kept site reliability engineering in its extended form throughout the book. For us, site reliability engineering is only accomplishable if you have an SRE and not the other way around. Although it’s common to see SRE standing for both site reliability engineer and engineering interchangeably, we want to emphasize the persona and the who in this book.
This book contains simulation labs to give its readers practical knowledge. Each has a prerequisite knowledge set, such as Kubernetes, cloud computing, or software development. It’s not part of this book to teach you about specific technologies and products but the most effective practices and principles that are technology agnostic. However, we must adopt some technology to demonstrate the site reliability engineering concepts and techniques. For that, we preferred open source software and platforms with free tier accounts in the labs.
Each simulation lab states its learning requirements and points to where the reader can find more information and instructions. We divided each practical exercise into three parts:
- Lab architecture
- Lab contents
- Lab instructions
The lab architecture explains the big picture around the design and connections among its main components. The contents section explains what’s inside the GitHub repository, such as files and folders. And the lab instructions have a procedure for installing, configuring, and using the lab properly.
The following is a list of software covered in this book’s simulation labs and the required execution environment:
Software covered in the book |
Cloud platform requirements |
GitHub |
Google Cloud Platform account |
Kubernetes |
AWS account (alternative) |
Node.js |
Microsoft Azure account (alternative) |
Prometheus |
Google Kubernetes Engine (GKE) |
Grafana |
Google Compute Engine (GCE) |
Terraform |
Amazon Elastic Kubernetes Service (alternative) |
Python |
Azure Kubernetes Service (alternative) |
Golang |
|
Slack |
|
PagerDuty |
|
Grype |
|
Syft |
|
Argo CD |
|
Grafana k6 |
|
LitmusChaos |
You will require a laptop with reasonable access to the internet to work in the book’s labs.
If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book’s GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.