
SLO Fo Sho (part three)
Word. But just countin' events? That might deceive User behavior can make us believe Things are smoother than they really are Retries and backoffs hide the scar So we slice the timeline, that's the best technique Short, fixed intervals, tiled across the week Say five minutes, mark each one "good" or "bad" Based on the targets that your SLOs had In those minutes did errors spike? Or were we slow If the slice fails its test, well then you know That ain't just abstract numbers, let's make it plain This one measures minutes of customer pain Your error budget now is clear, no need to guess the cost: "3 more minutes of badness before the month is lost!" For error rates, count attempts when the result's at hand For latencies with short timeouts, log 'em when they land For long pipelines that span more minutes than a slice Start emitting when they're late, knowin' you may count 'em twice Don't just wait until it's done and measurement belated Mark each window bad as long as users were frustrated That "customer pain" you're trackin' over time Don't hide it in an average, track it like a crime Reliability’s promise isn't to the crowd as whole But to each customer, achieving their specific goal So let's be crystal, make the language plain and true "We're mostly there for you" – that promise sees you through But "We're there for most customers"? That phrase just won't suffice It means for some poor souls, we didn't roll good dice Their service failed, their needs were left unmet That second claim's a statistical safety net With holes too big! To ensure each user thrives, Think "failure domains," where correlated trouble dives Deep in your stack: a region, cluster, shard Or specific APIs workin' extra hard A config change that only hits one slice of life Your SLO must hold within each zone of potential strife Not just look good when averaged on a global scale So for each time slice, if any domain should fail Its target, then the entire slice is bad, my friend Intersection logic means on all parts you depend No averages to mask the problems hid below! Yo 'Bout those targets, let's be smart and real A hundred percent? Consider how users feel Versus the cost; perfection is absurd Talk to your customers, ensure their needs are heard What's critical for them? What impact if it's slow? Set different thresholds so your efforts flow To vital paths. Background jobs might get more slack Now, for one metric, say, you set a double track Like P-fifty latency, ensuring most are fast And P-ninety-nine, so even tail-end times don't last Too long. For that whole slice to earn a passing grade Both those thresholds must be met, a promise made And kept. It's "AND" logic strictly, make that rule well known Each separate target for that slice must hold its own Don't use weighted scores that hide a failing part A holistic view comes from a healthy, honest chart Now, measuring is better from locations undeniable Closer to the customer, but direct's not always viable If the situation's noisy, what other options to pursue? Then surrogate signals might just have to do But choose them cautiously, and this is obviously key: They must be tightly correlated with the impact users see A simple pod liveness? That's often not enough It just says "it's running," not if the service handles stuff If health checks are your surrogate, make 'em probe down deep Test logic, check dependencies, don't be going cheap Still, direct is better, let that be understood But if direct's not there, a surrogate does what it should And speakin' of proactive tests you can embrace You can use synthetic probes to test your interface Their value's more than just a number on a graph They run end-to-end checks, exercising happy paths In isolating issues: "Is it us, or is it them?" For testin' those rare APIs, a real strategic gem They act like a third party, an external, watchful eye Exposin' network problems, or how proxies might lie About the true performance that your users really see That's the power of synthetic based telemetry We've covered lots of ground, we been slicing up the test Stay tuned for the finale, where we drop the very best

