A brokerage sets a single availability target of 99.9% for its whole platform. Why is that wrong, and what should replace it?
Show the full answer Hide the answer
Why one platform-wide number is wrong
It simultaneously over-engineers and under-engineers. Placing an order during the market open and viewing a statement from three years ago do not have the same consequence when they fail, and giving them the same target means either spending trading-grade money on the statement path or accepting statement-grade reliability on the trading path.
It also cannot be acted on. When the number is missed, nobody knows which part to fix.
Why per-service is also wrong
A service-level target says nothing about what a user experienced. A user journey crosses many services, and a journey can fail while every service reports itself healthy — because the failure was in the composition, the timeout budget, or a dependency none of them owned.
Measure what the user does, not what the components report.
What replaces it
| Journey | Target | Why |
|---|---|---|
| Place or cancel an order | Highest | Money at risk, hard deadline, no retry later |
| View positions and P&L | High | Users act on it during the session |
| Fund transfer | High | Financial, but retryable in minutes |
| Historical statements | Moderate | Nobody acts in real time |
| Reports and analytics | Low | Deferred without consequence |
The measurement decisions that matter as much as the number
- The window. Availability measured monthly hides a four-hour outage; measured per minute it does not. A monthly target is an accounting convention, not a user experience.
- The metric. Successful requests over total, from the client's perspective where possible, since server-side success rate misses the requests that never arrived.
- Latency as part of availability. A response that arrives after the user gave up is a failure, so the SLI should be "successful and within the latency bound", not merely successful.
- Whose availability is included. If a third-party depends in the path, your ceiling is their floor unless the design routes around them — and the target must reflect that or it is fiction.
The consequence that makes it real
An error budget derived from the target, with an agreed action when it is exhausted. Without that, an SLO is a number in a document. With it, the trading journey's budget being spent means the trading path's changes stop until reliability is restored — which is the mechanism that converts a target into behaviour.