Josh BeckmanTypes of components
The easiest way to get started with setting SLIs is to abstract your system into a few common types of components. You can then use our list of suggested SLIs for each component to choose the ones most relevant to your service:
Request-driven
⢠The user creates some type of event and expects a response. For example, this could be an HTTP service where the user interacts with a browser or an API for a mobile application.
Pipeline
⢠A system that takes records as input, mutates them, and places the output somewhere else. This might be a simple process that runs on a single instance in real time, or a multistage batch process that takes many hours. Examples include:
⢠A system that periodically reads data from a relational database and writes it into a distributed hash table for optimized serving ⢠A video processing service that converts video from one format to another ⢠A system that reads in log files from many sources to generate reports ⢠A monitoring system that pulls metrics from remote servers and generates time series and alerts
Storage
⢠A system that accepts data (e.g., bytes, records, files, videos) and makes it available to be retrieved at a later date.
Steven Thurgood and David FergusonImplementing SLOs