Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Horizontal vs Vertical Scaling | Architectural Patterns and Trade-offs
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Scaling Strategies

bookHorizontal vs Vertical Scaling

Horizontal vs. Vertical Scaling

When you need to handle increased demand in your systems, you have two main scaling strategies: horizontal scaling and vertical scaling. Understanding the differences between these approaches helps you make the right decisions for your infrastructure.

Horizontal scaling means adding more machines or nodes to your system. Instead of making one server more powerful, you distribute the workload across multiple servers. This approach is often called "scaling out." It lets you handle more requests by sharing the load, which improves overall system availability and resilience. If one machine fails, others can continue to serve users. Horizontal scaling is especially useful for cloud-native applications, web servers, and distributed databases where workloads can be split across several machines. However, it requires your software to be designed for distribution, and managing a larger number of servers can add operational complexity.

Vertical scaling, on the other hand, involves increasing the resources of a single machine. You might add more CPU, memory, or storage to a server to make it more powerful. This approach, known as "scaling up," is straightforward to implement and often does not require changes to your application. It is suitable for legacy applications or databases that are not designed for distribution. However, vertical scaling has limits: every machine has a maximum capacity, and upgrading hardware can become expensive. If the single upgraded machine fails, your entire service may go down, which reduces resilience.

You should use horizontal scaling when you expect unpredictable or rapidly growing workloads, need high availability, or want to avoid single points of failure. Vertical scaling is best when your application cannot be easily distributed or when simplicity is more important than resilience. By understanding these differences, you can choose the scaling strategy that best fits your system's requirements and growth plans.

question mark

Which statement best describes horizontal scaling compared to vertical scaling?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 1

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

bookHorizontal vs Vertical Scaling

Glissez pour afficher le menu

Horizontal vs. Vertical Scaling

When you need to handle increased demand in your systems, you have two main scaling strategies: horizontal scaling and vertical scaling. Understanding the differences between these approaches helps you make the right decisions for your infrastructure.

Horizontal scaling means adding more machines or nodes to your system. Instead of making one server more powerful, you distribute the workload across multiple servers. This approach is often called "scaling out." It lets you handle more requests by sharing the load, which improves overall system availability and resilience. If one machine fails, others can continue to serve users. Horizontal scaling is especially useful for cloud-native applications, web servers, and distributed databases where workloads can be split across several machines. However, it requires your software to be designed for distribution, and managing a larger number of servers can add operational complexity.

Vertical scaling, on the other hand, involves increasing the resources of a single machine. You might add more CPU, memory, or storage to a server to make it more powerful. This approach, known as "scaling up," is straightforward to implement and often does not require changes to your application. It is suitable for legacy applications or databases that are not designed for distribution. However, vertical scaling has limits: every machine has a maximum capacity, and upgrading hardware can become expensive. If the single upgraded machine fails, your entire service may go down, which reduces resilience.

You should use horizontal scaling when you expect unpredictable or rapidly growing workloads, need high availability, or want to avoid single points of failure. Vertical scaling is best when your application cannot be easily distributed or when simplicity is more important than resilience. By understanding these differences, you can choose the scaling strategy that best fits your system's requirements and growth plans.

question mark

Which statement best describes horizontal scaling compared to vertical scaling?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 1
some-alt