Stop Using “Real Time” Wrong
It has nothing to do with latency and it’s making your systems more complicated.
I’m fighting this ongoing war with the phrase “real time” at work. I want to eliminate it from our vocabulary — to the point where I periodically fantasize about standing up a Slack bot that auto replies to the phrase “real time” with “did you mean to define a clear SLO?”
The problem with the colloquial use of the phrase “real time” among most software engineers and the startups that employ them, is that it does not set a clear requirement. It is used to communicate the expectation of a quick response time (which is also not what it means … more on that later) but the most literal interpretation of that is impossible. Computer systems cannot process things instantaneously. There’s always some delay, maybe only milliseconds or nanoseconds.
Adding to the problem is how people perceive time. From the perspective of most users milliseconds is instantaneous. But so is the five second delay on live TV. From a technical perspective the difference between five milliseconds and five seconds is a completely different architecture.
For example, if it’s necessary for us to process data within milliseconds of it being created we probably don’t care about recovering the occasional dropped packet. Data that is actually that time sensitive tends to be…