Explaining Distributed Systems Like I'm 5

See many easy examples of how a distributed systems architecture could scale virtually infinitely, with analogies even a five-year old could understand.

It starts with a task: create an API that uploads a large CSV file (>10GB) to a server, then read the file, normalize the data, and store it into a database.

Most put an API server between the user and a database to solve this. Not only is that slow without an excellent internet connection, what if you have dozens of concurrent uploads? You run out of memory.

The next suggestion is usually to add multiple API servers and a load balancer to direct traffic. But that comes with scaling challenges eventually as well. Here's an analogy:

The Ice Cream Scenario

If you have an ice cream truck and a massive crowd that wants ice cream, sure you can create a queue, but that can still mean a long waiting time.

You can get more ice cream trucks but what if one's moving faster and you got in the line of the ice cream truck moving the queue much slower?

Distributed systems would be like having many trucks, many queues not attached to any truck, and waiters to bring out ice cream to the person who's next among the multiple queues.

Watch the rest of this video to get even more details about this analogy to help you think about and teach others about distributed computing.

More resources like this one