Scalability Ideas - Deepstash

scalability

11 ideas

Scaling

Systems can be scaled:

  • Vertically - by increasing the resources of a specific node (more CPU, memory, disk etc.). This is easier to do, but it's limited. You can only add so many CPU cores and memory.
  • Horizontally - by adding more nodes of the same kind. This usually requires adding a load balancer in front of your nodes to distribute the load evenly.

7 STASHED

Key Concepts for System Design

📖 Cracking the Coding Interview

6 IDEAS

There is no "perfect" system

There is no single design for any system that works perfectly. There are always trade-offs. Two different people can come up with different designs, with both being excellent given different assumptions.

Your goal is to:

  1. Understand the use case
  2. Scope the problem you are solving
  3. Make reasonable assumptions
  4. Create a solid design based on those assumptions
  5. Be open about the trade-offs you made and the weaknesses of your design

3 STASHED

System Design: Step-by-step

📖 Cracking the Coding Interview

5 IDEAS