

0 / 2 embers
0 / 3000 xp
click for more info
Complete a lesson to start your streak
click for more info
Difficulty: 4
click for more info
Not enough gems
Cost: 6 gems
1: Top
incomplete
2: Vertical and Horizontal Scaling
incomplete
3: Resource Limits
incomplete
4: Limits - RAM
incomplete
5: Breaking the Limits
incomplete
6: Fix the Limits
incomplete
7: Horizontal Pod Autoscaling (HPA)
incomplete
8: HPA - Web
incomplete
9: HPA Fix
incomplete
Back
ctrl+,
Next
ctrl+.
This lesson's interactive features are locked, please to keep using them
Generally speaking, there are two ways to scale an application: vertically and horizontally. When I say "Scaling", I'm talking about increasing the capacity of an application. For example, maybe we have a web server, and to handle roughly 1000 requests per second, it uses about:
If we want to "scale up" to handle 2000 requests per second, we could double the CPU and RAM:
This is called "vertical scaling" because we're increasing the capacity of the application by increasing the resources available to it. We're scaling up. Scaling up works until it doesn't. You can only scale up as much as your hardware will allow (the maximum number of CPUs and amount of RAM your node has).
The other way to scale is horizontally. Instead of increasing the resources available to the application, we increase the number of instances of the application (pods). Pods can be distributed across nodes, so we can scale horizontally until we run out of nodes. When working in a system like Kubernetes, it's generally better to scale horizontally than vertically.