SLO & Reliability Practical By Samson Tanimawo, PhD Published Aug 27, 2025 4 min read

SLOs From Dependent Services

Your SLO inherits from dependencies.

Math

Your SLO is not a thing you set; it is a thing your dependencies hand you. If your service can only succeed when every backend it calls also succeeds, your maximum achievable SLO is bounded by the product of every dependency's SLO. The math is unforgiving and most teams discover it too late, after they have published a target their architecture cannot support.

The numbers that matter:

The first move in any SLO conversation is to walk the dependency tree, sum the implied ceiling, and ask whether the number you want to publish is mathematically possible. Most of the time it is not, and the conversation has to shift from "how reliable do we want to be" to "what does the architecture allow."

Design

Once you accept the dependency math, the design choices that matter are the ones that reduce your effective dependency on each backend. There is no way to make a hard dependency on a 99% service produce a 99.99% own-service SLO. There are several ways to soften the dependency.

The architectural goal is not zero dependencies. It is fewer hard dependencies on the request path. That ratio is the lever.

Track

Even with the best design, dependency failures will still show up in your SLO. The question is whether you find out fast enough to act, and whether you have receipts when stakeholders ask why this quarter's budget burned.

Your SLO is honest only when it accounts for what your dependencies actually deliver. Nova AI Ops tracks every outbound call by destination, computes per-dependency burn rate, and shows the contribution of each upstream to your own SLO so you can renegotiate dependency contracts with the teams whose reliability is capping yours.