Anatomy of a Scalable Web Application

Before we look at approaching System Design Interviews, it is useful to look at how web backends are generally designed. You should learn the diagram below, as it can be extended to many different backends. In later sections, we extend this diagram to implement Uber/Lyft.

In the first video, we look at the architecture for a server hosted on a single machine. A lot of times, interviewers will want you to start small with one machine and scale your application from there.

In the next video, we extend the machine to a scalable backend with multiple machines. We separate out each component in the single machine architecture to make it more scalable.

Diagram for a Scalable Web Backend

Make sure you understand this diagram thoroughly, because you can use it directly in your interviews. Later on, we'll using this in different systems like E-Commerce stores, Social Networks and even Messaging Backends.

Complete and Continue  
Discussion

67 comments