...

/

Introduction to Building Blocks for Modern System Design

Introduction to Building Blocks for Modern System Design

Learn how a system design is like using Lego pieces to make bigger, fascinating artifacts.

The bottom-up approach to modern system design

System design problems usually share similarities, though specific details are often unique. We have extracted these similarities across design problems as the basic building blocks we’ll cover. One example of a building block is a load-balancing component, which we’ll probably use in every design problem in one way or another.

We can think about building blocks as bricks to construct more effective, capable systems. But before using them in our design problems, it makes sense to develop an understanding of different building blocks individually. Separating building blocks helps us focus on the design of real-world systems rather than the underlying components required to build them.

Many of the building blocks we discuss are also available in the public clouds, such as Amazon Web Services (AWS), Azure, and Google Cloud Platform (GCP). We can use such constructs to build a system to cement our understanding further. (We won’t construct the system in this course, but we’ve left it as an exercise for interested learners.)