Introduction

A system design might be like using lego pieces to make bigger, fascinating artifacts.

Bottom-up approach for systems design

System design problems have some similarities and some unique aspects between them. We have extracted such similarities across design problems as basic building blocks. An example of a building block is a load-balancing component that one uses in probably every design problem in one way or the other.

The purpose of separating the building blocks is to thoroughly discuss their design once so that we can later take the liberty to use them anywhere we need them by merely mentioning their names. We can think about building blocks as bricks to construct more effective, more capable systems.

Many of the building blocks we discuss are also available for actual use in the public clouds (AWS, Azure, and GCP). One can use such constructs to build a system to cement the understanding further. (We will not be constructing the system in this course, and we have left it as an exercise for interested learners).

We will discuss the following building blocks in detail:

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy