Video summary
System Design BASICS: Horizontal vs. Vertical Scaling
Main summary
Key takeaways
Summary
The video introduces system design through the challenge of making a useful program available to many users. A program can be exposed over the internet through an API: users send requests, and the service returns responses. Hosting the program on cloud infrastructure means running it on computers provided by a cloud provider, which can also help with configuration and reliability.
As demand grows, a single server may no longer be able to handle all incoming requests. The video explains two ways to scale:
- Vertical scaling: Upgrade to a larger, more powerful machine. This is straightforward and keeps computation and data on one system, which can speed up communication and make consistency easier to maintain. However, the machine has hardware limits and can become a single point of failure.
- Horizontal scaling: Add more machines and distribute requests among them. This can handle growth more flexibly and provide resilience if one machine fails. It requires load balancing, relies on slower network communication between machines, and makes data consistency more challenging.
Vertical scaling offers simpler, faster communication and can make consistency easier, while horizontal scaling is more resilient and can grow beyond the limits of a single machine. In practice, systems commonly combine the two approaches: use machines as powerful as is practical, then add more machines as demand grows. The choice involves trade-offs among scalability, resilience, performance, and consistency.
Guide and Tutorial Points
- API basics: A service receives requests and returns responses.
- Cloud hosting: Run a service on remotely provided computing infrastructure rather than relying on a personal computer.
- Scaling: Choose between upgrading one machine and distributing work across multiple machines.
- System design: Match architectural trade-offs to the system’s requirements.
Main Speaker and Source
Gaurav Sen presents this introductory system-design lesson.
Rate this summary
Your feedback will help improve summaries.
Improve this summary
Reprocess with a stronger model when the summary feels incomplete or inaccurate.
Translate summary in another language
Ask questions to this video
Chat for follow-up questions, clarifications, and source-backed answers.