Where time goes.
WHAT CONTRIBUTES
Network round trip The provider's processing Your own processing Serialisation Waiting on connections
WHAT DOMINATES OVER DISTANCE
The round trip.
WHY THAT MATTERS
An operation making ten sequential calls pays ten round trips.
WHAT TO DO ABOUT IT
Reduce the number of calls Make independent calls concurrently Move work closer
WHAT CONCURRENCY ACHIEVES
Several round trips overlapping rather than adding.
WHAT IT REQUIRES
Calls genuinely independent of each other.
WHAT TO BE CAREFUL WITH
Concurrency against rate limits Error handling across several simultaneous calls
WHAT TO MEASURE
Latency at percentiles, per provider and per operation.
WHY PERCENTILES
The slow tail is what users experience as broken.
WHAT TO SET FROM THAT MEASUREMENT
Timeouts.
WHAT TO CONSIDER ABOUT CHAINS
Total latency is the sum, and total reliability is the product.
WHY THAT SECOND POINT MATTERS
Five services at ninety-nine per cent each give well under ninety-nine overall.
WHAT THAT ARGUES FOR
Fewer synchronous dependencies.
WHAT TO MOVE OUT OF THE REQUEST PATH
Anything not needed to answer the user.