You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
Scalability is the ability of a system to handle increasing load by adding resources. Load balancing is the technique of distributing incoming requests across multiple servers. Together, they form the foundation of any system that needs to grow beyond a single machine.
There are two fundamental approaches to scaling:
Vertical Scaling Horizontal Scaling
(Scale Up) (Scale Out)
┌───────────────┐ ┌──────┐ ┌──────┐ ┌──────┐
│ │ │Server│ │Server│ │Server│
│ BIG SERVER │ │ 1 │ │ 2 │ │ 3 │
│ (more CPU, │ └──────┘ └──────┘ └──────┘
│ more RAM, │ ▲ ▲ ▲
│ more disk) │ └───────┼───────┘
│ │ │
└───────────────┘ ┌──────────────┐
│Load Balancer │
└──────────────┘
| Aspect | Vertical Scaling | Horizontal Scaling |
|---|---|---|
| Approach | Bigger machine | More machines |
| Complexity | Low | Higher (distributed state) |
| Cost curve | Exponential | Linear |
| Downtime risk | Single point of failure | Redundancy built in |
| Upper limit | Hardware limits | Practically unlimited |
| State management | Simple (single node) | Requires external state |
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.