Chapter 7. Measuring SLIs and SLOs

It’s one thing to understand the philosophy of what a good SLI for a service might be, but it’s another thing entirely to actually understand how to implement and measure it. This chapter establishes clear design goals that can guide any SLO implementation and describes common machinery for SLO measurements that can be found within nearly any modern software organization. It then walks through the implementation of common-case SLIs and SLOs, followed with a broader discussion of the general case, and concludes with a few other considerations for anyone implementing SLOs in the real world.

Because SLIs and SLO measurements form the foundation of a healthy, well-managed, and reliable system, the infrastructure used to measure them ends up being sticky, for better or for worse. As such, this chapter goes into some detail about the trade-offs involved with common “brownfield” infrastructure components that are probably already in use at most software organizations today. Another chapter—or perhaps a book!—could be written about a “greenfield” environment where infrastructure availability and reuse are irrelevant.

Design Goals

Unsurprisingly, implementing SLOs is similar to most other software engineering projects: the quality of the results benefits greatly from some advance planning and a keen awareness of overarching design goals. That said, since SLOs and SLIs are often implemented on top of—or within—existing ...

Get Implementing Service Level Objectives now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.