Member-only story

Mastering System Design Essentials: Building Scalable and Robust Systems

Sharat Kedari
14 min readJun 18, 2023

--

Designing a system that supports millions of users is challenging, and it is a journey that requires continuous refinement and endless improvement. In this blog, we will discuss essential techniques that need to be considered when designing a robust system. After reading this blog, you will master a handful of techniques that will help you crack the system design.

Vertical scaling vs. horizontal scaling:

Vertical scaling, also known as “scale up,” is the process of giving your servers more power (more CPU, RAM, etc.). You can scale horizontally, also known as “scale-out,” by adding more servers to your resource pool.

Vertical Scaling:

  • Vertical scaling, also known as scaling up, allows you to increase the resources of a single server or machine (such as its CPU, RAM, or storage).
  • It usually entails upgrading the hardware of a single server, such as adding more powerful processors, increasing RAM, or adding more storage.
  • Vertical scaling is typically easier to implement because it only requires changes to one server.
  • It is useful for applications where a single server can handle the workload or where there is only one bottleneck point.
  • The primary limitation of vertical scaling is that it has an upper limit, which is determined by the maximum resources that a single server can support. When that limit is reached…

--

--

Sharat Kedari
Sharat Kedari

No responses yet