Skip to main content

SRE Revisited: SLO in the Age of Microservices

Dotan Horovits
Logz.io

Site Reliability Engineering (SRE) practice was established by Google nearly 20 years ago and was popularized with Google's monumental SRE Book. Everyone's been attempting to follow that iconic path ever since.

What Are SLI, SLO and SLA Anyway?

SRE practice revolves around the concepts of SLO, SLI, SLA, and the related "error budget." The Google SRE Book, which laid the foundations for the practice, defines them as follows:

Service Level Indicator (SLI) is a carefully defined quantitative measure of some aspect of the level of service that is provided. Common examples include latency, error rate, request throughput and availability.

Service Level Objective (SLO) is a target value or range of values for a service level that is measured by an SLI. For example, an SLO can state that the average latency per request should be under 120 milliseconds. Many companies set SLO targets as a number of nines, for example "five nines" uptime means 99.999% uptime, which means a maximum of 5.26 minutes downtime per year.

Service Level Agreement (SLA) is an explicit or implicit contract with your users that includes consequences of meeting (or missing) the SLOs they contain. Put simply, if you've got a penalty attached to breaching an SLO — you're talking SLA.

SRE typically doesn't deal with SLA directly, as it's more commercial in nature. Rather, the SRE is concerned with meeting the SLOs that underlie the SLA.

Error budget is an important related concept, which determines the rate at which the SLOs can be missed. Error budget is an important indicator for meeting the SLO goals consistently, and SRE teams track it weekly and even daily. Error budget is also important, as it enables downtime windows that can be used for maintenance, experimenting with new features, and other innovation.

So How Is SRE Changing in the Age of Microservices?

The SRE concepts remain valid these days as they've been before. But then again, their system of reference has drastically changed.

SLOs have traditionally referred to assets such as the application's binary or other deployment artifacts. That made perfect sense when the binary encapsulated the entire application, or a major piece of it such as the business logic tier.

In the world of microservices, however, the deployed artifacts are, well — microservices. And as the name suggests, each individual micro-service executes only a tiny piece of functionality.
In such systems it makes little sense to track SLO on the individual artifacts. SLO should refer to the functionality that is meaningful to the users.

Therefore, the practice of monitoring SLO on the service binary is no longer relevant.

In microservice architecture, rather than the individual service, it is the mesh of services that needs to play well together to execute. In these systems, tens and even hundreds of services may be traversed in order to satisfy a single user request. In these systems, rather than monitoring individual services, SLI and SLO should be defined for flows and user journeys.

The complex request flows brought about the rise of Distributed Tracing discipline. It enables tracing a single request through the call chain between the different interacting microservices, by propagating context along the request path. It's typically used to pinpoint where failures occur and what causes poor performance. However, tracing can also be used to trace FinOps and business workflows.

Google Dapper is in fact one of the forefathers of modern distributed tracing, which served as inspiration for tools such as Jaeger and Zipkin. According to Ramón Medrano Llamas, a staff site reliability engineer at Google who leads the SRE team in charge of Google's identity services, "it's the closest tool we have right now for a definite observability tool."

To make things more interesting, these user journeys not only span several services, but may actually involve a few requests. Let's look for an example at the Google sign-in process: as Ramón from Google shares, what used to be a matter of three calls in the pre-microservices era, is today a full business flow, consisting of multiple steps: loading page, then putting username & password, then second factor auth. and so on. Each individual step is a request, triggering a chain of microservices to satisfy. And the overall multi-step flow isn't stateful, it depends on the end user to carry it over from step to step. Monitoring these business flows is less trivial, but that's what we need to measure to ensure the functionality we deliver to the user.

How should you go about defining SLO then?

■ Start by identifying the main flows and user journeys in your system. These should be well defined as part of the system and product specifications.

■ Then for each flow, clarify the expected end result from the user perspective, to define the SLI. This should also be a direct derivative of the product flow definition.

■ If needed, add missing instrumentation to track, collect and aggregate the relevant metrics to measure the defined SLI.

■ Make sure that the relevant flow context is propagated throughout your system. This will serve to associate a metric with the respective tenant, account or similar entities.

■ Carefully define the SLO around each SLI, to meet technical and business goals. This often involves additional stakeholders, to factor in the tradeoff between stability and velocity of innovation.

■ Start monitoring the SLI and set relevant alerting according to the threshold defined by the SLO. Track your error budget regularly to see how close you get to the SLO bar.

Dotan Horovits is Principal Developer Advocate at Logz.io

Hot Topics

The Latest

Enterprises today operate in a real-time environment where uninterrupted access to trusted data has become a baseline expectation for users, applications and automated systems. Traditional DataOps models, built on manual effort and human triage, cannot keep pace with this always active demand. AI agents are emerging as the operational backbone, ensuring consistent data availability, reinforcing trustworthiness and enabling a level of scale that manual processes cannot achieve ...

For decades, trust in the digital workplace rested on familiar signals. We trusted faces on video calls, voices on the phone, and emails that appeared to come from people we knew. These cues felt human and intuitive. They anchored how decisions were made, approvals were granted, and access was authorized. AI-powered deepfakes have quietly broken that model ...

Cloud migration was supposed to be a one-way door. For most enterprises, it turns out it isn't. Cloud data repatriation is a real and growing trend. A new survey ... finds that 89% of organizations plan to expand their on-premises infrastructure footprint over the next two years — and 75% have already moved at least some workloads back from public cloud in the past 24 months. The findings point to a broad rethinking of where data belongs ...

Over the past few years, large language models (LLMs) have revolutionized the software industry. Given their ability to excel at multi-step reasoning, LLMs have helped enterprises streamline workflows and adapt to the unknown. However, employing such models comes with sky-high costs, latency issues, and limited flexibility. In the realm of IT operations, it is generally wiser to employ smaller, domain-specific models instead ...

For years, DevOps teams operated under a simple assumption: collect enough telemetry, and you can find and fix any problem. That assumption is breaking down. Modern enterprises now operate across microservices, hybrid cloud environments, APIs, Kubernetes, and highly automated delivery pipelines. Releases happen continuously, dependencies shift constantly, and failures spread faster than teams can diagnose them ...

New Relic surveyed IT and engineering leaders from the media and entertainment (M&E) sector to understand what's working — and where challenges persist with their observability practices. The findings reveal how M&E organizations are navigating rising platform complexity, audience expectations, and AI-driven change. Below are five takeaways that stand out ...

Let me start with something I've seen play out more times than I can count. A team hits a wall with the cloud. Costs creep up, then spike. Performance starts to feel inconsistent. Someone in finance asks a simple question like "why did this double?" and nobody has a clean answer ... Maybe this isn't the right place for everything. That realization feels like a breakthrough, like you've identified the problem. In reality, you've just identified the starting line ...

In MEAN TIME TO INSIGHT Episode 24, Shamus McGillicuddy, VP of Research, Network Infrastructure and Operations, at EMA discusses network observability tool sprawl ... 

In cloud-native systems, scaling is often as simple as moving a slider. For on-premise databases, the stakes are different. Over-provisioning hardware is expensive. Under-provisioning leads to performance bottlenecks that are difficult to fix once the equipment is in the rack ...

When most people think about cybersecurity, they picture firewalls, encryption, and access controls — technical tools designed to protect systems and data. But beneath the technology lies a deeper set of principles about trust, decision-making, and resilience ... The best leaders don't eliminate risk. They manage it intelligently. And in many ways, cybersecurity offers a surprisingly useful playbook for doing exactly that ...

SRE Revisited: SLO in the Age of Microservices

Dotan Horovits
Logz.io

Site Reliability Engineering (SRE) practice was established by Google nearly 20 years ago and was popularized with Google's monumental SRE Book. Everyone's been attempting to follow that iconic path ever since.

What Are SLI, SLO and SLA Anyway?

SRE practice revolves around the concepts of SLO, SLI, SLA, and the related "error budget." The Google SRE Book, which laid the foundations for the practice, defines them as follows:

Service Level Indicator (SLI) is a carefully defined quantitative measure of some aspect of the level of service that is provided. Common examples include latency, error rate, request throughput and availability.

Service Level Objective (SLO) is a target value or range of values for a service level that is measured by an SLI. For example, an SLO can state that the average latency per request should be under 120 milliseconds. Many companies set SLO targets as a number of nines, for example "five nines" uptime means 99.999% uptime, which means a maximum of 5.26 minutes downtime per year.

Service Level Agreement (SLA) is an explicit or implicit contract with your users that includes consequences of meeting (or missing) the SLOs they contain. Put simply, if you've got a penalty attached to breaching an SLO — you're talking SLA.

SRE typically doesn't deal with SLA directly, as it's more commercial in nature. Rather, the SRE is concerned with meeting the SLOs that underlie the SLA.

Error budget is an important related concept, which determines the rate at which the SLOs can be missed. Error budget is an important indicator for meeting the SLO goals consistently, and SRE teams track it weekly and even daily. Error budget is also important, as it enables downtime windows that can be used for maintenance, experimenting with new features, and other innovation.

So How Is SRE Changing in the Age of Microservices?

The SRE concepts remain valid these days as they've been before. But then again, their system of reference has drastically changed.

SLOs have traditionally referred to assets such as the application's binary or other deployment artifacts. That made perfect sense when the binary encapsulated the entire application, or a major piece of it such as the business logic tier.

In the world of microservices, however, the deployed artifacts are, well — microservices. And as the name suggests, each individual micro-service executes only a tiny piece of functionality.
In such systems it makes little sense to track SLO on the individual artifacts. SLO should refer to the functionality that is meaningful to the users.

Therefore, the practice of monitoring SLO on the service binary is no longer relevant.

In microservice architecture, rather than the individual service, it is the mesh of services that needs to play well together to execute. In these systems, tens and even hundreds of services may be traversed in order to satisfy a single user request. In these systems, rather than monitoring individual services, SLI and SLO should be defined for flows and user journeys.

The complex request flows brought about the rise of Distributed Tracing discipline. It enables tracing a single request through the call chain between the different interacting microservices, by propagating context along the request path. It's typically used to pinpoint where failures occur and what causes poor performance. However, tracing can also be used to trace FinOps and business workflows.

Google Dapper is in fact one of the forefathers of modern distributed tracing, which served as inspiration for tools such as Jaeger and Zipkin. According to Ramón Medrano Llamas, a staff site reliability engineer at Google who leads the SRE team in charge of Google's identity services, "it's the closest tool we have right now for a definite observability tool."

To make things more interesting, these user journeys not only span several services, but may actually involve a few requests. Let's look for an example at the Google sign-in process: as Ramón from Google shares, what used to be a matter of three calls in the pre-microservices era, is today a full business flow, consisting of multiple steps: loading page, then putting username & password, then second factor auth. and so on. Each individual step is a request, triggering a chain of microservices to satisfy. And the overall multi-step flow isn't stateful, it depends on the end user to carry it over from step to step. Monitoring these business flows is less trivial, but that's what we need to measure to ensure the functionality we deliver to the user.

How should you go about defining SLO then?

■ Start by identifying the main flows and user journeys in your system. These should be well defined as part of the system and product specifications.

■ Then for each flow, clarify the expected end result from the user perspective, to define the SLI. This should also be a direct derivative of the product flow definition.

■ If needed, add missing instrumentation to track, collect and aggregate the relevant metrics to measure the defined SLI.

■ Make sure that the relevant flow context is propagated throughout your system. This will serve to associate a metric with the respective tenant, account or similar entities.

■ Carefully define the SLO around each SLI, to meet technical and business goals. This often involves additional stakeholders, to factor in the tradeoff between stability and velocity of innovation.

■ Start monitoring the SLI and set relevant alerting according to the threshold defined by the SLO. Track your error budget regularly to see how close you get to the SLO bar.

Dotan Horovits is Principal Developer Advocate at Logz.io

Hot Topics

The Latest

Enterprises today operate in a real-time environment where uninterrupted access to trusted data has become a baseline expectation for users, applications and automated systems. Traditional DataOps models, built on manual effort and human triage, cannot keep pace with this always active demand. AI agents are emerging as the operational backbone, ensuring consistent data availability, reinforcing trustworthiness and enabling a level of scale that manual processes cannot achieve ...

For decades, trust in the digital workplace rested on familiar signals. We trusted faces on video calls, voices on the phone, and emails that appeared to come from people we knew. These cues felt human and intuitive. They anchored how decisions were made, approvals were granted, and access was authorized. AI-powered deepfakes have quietly broken that model ...

Cloud migration was supposed to be a one-way door. For most enterprises, it turns out it isn't. Cloud data repatriation is a real and growing trend. A new survey ... finds that 89% of organizations plan to expand their on-premises infrastructure footprint over the next two years — and 75% have already moved at least some workloads back from public cloud in the past 24 months. The findings point to a broad rethinking of where data belongs ...

Over the past few years, large language models (LLMs) have revolutionized the software industry. Given their ability to excel at multi-step reasoning, LLMs have helped enterprises streamline workflows and adapt to the unknown. However, employing such models comes with sky-high costs, latency issues, and limited flexibility. In the realm of IT operations, it is generally wiser to employ smaller, domain-specific models instead ...

For years, DevOps teams operated under a simple assumption: collect enough telemetry, and you can find and fix any problem. That assumption is breaking down. Modern enterprises now operate across microservices, hybrid cloud environments, APIs, Kubernetes, and highly automated delivery pipelines. Releases happen continuously, dependencies shift constantly, and failures spread faster than teams can diagnose them ...

New Relic surveyed IT and engineering leaders from the media and entertainment (M&E) sector to understand what's working — and where challenges persist with their observability practices. The findings reveal how M&E organizations are navigating rising platform complexity, audience expectations, and AI-driven change. Below are five takeaways that stand out ...

Let me start with something I've seen play out more times than I can count. A team hits a wall with the cloud. Costs creep up, then spike. Performance starts to feel inconsistent. Someone in finance asks a simple question like "why did this double?" and nobody has a clean answer ... Maybe this isn't the right place for everything. That realization feels like a breakthrough, like you've identified the problem. In reality, you've just identified the starting line ...

In MEAN TIME TO INSIGHT Episode 24, Shamus McGillicuddy, VP of Research, Network Infrastructure and Operations, at EMA discusses network observability tool sprawl ... 

In cloud-native systems, scaling is often as simple as moving a slider. For on-premise databases, the stakes are different. Over-provisioning hardware is expensive. Under-provisioning leads to performance bottlenecks that are difficult to fix once the equipment is in the rack ...

When most people think about cybersecurity, they picture firewalls, encryption, and access controls — technical tools designed to protect systems and data. But beneath the technology lies a deeper set of principles about trust, decision-making, and resilience ... The best leaders don't eliminate risk. They manage it intelligently. And in many ways, cybersecurity offers a surprisingly useful playbook for doing exactly that ...