Gunjan Sharma

Engineering

He Didn't Build a Time Machine. He Accidentally Built One.

I was advising a startup recently whose customer support line was blowing up.

Users were reporting that "time was going backward" on their dashboards. They would submit a comment, see it appear, refresh the page, and the comment would vanish. They would refresh again, and it would miraculously come back.

I looked at their infrastructure.

Their new Architect had scaled their database by adding 5 asynchronous read replicas. But he forgot to implement "Monotonic Reads."

The load balancer was just randomly bouncing users between a replica that had the new data, and a replica that was 10 seconds behind.

He didn't build a high-performance cloud architecture. He accidentally built a time machine.

In a multi-node environment, trading consistency for availability sounds brilliant on a whiteboard. But to the end-user, it just looks like a broken website.

"Eventual Consistency" is just a polite engineering term for "we have absolutely no idea what the data is right now."

He Didn't Build a Time Machine. He Accidentally Built One. | Gunjan Sharma