Scalability

Create a Structure That Continues to Work Even with a Rise in Users

Overview

Scalability is the ability for a system to properly handle the increased workloads that come with factors like a sharp rise in the number of users and their requests. An infrastructure that's capable of raising processing ability to respond to workload needs is essential in creating a system with high scalability.

There are two main methods that exist for increasing processing ability: scaling up and scaling out.

Scaling up improves processing ability in a single server by strengthening resources like memory or server CPUs. Scaling out, on the other hand, improves the processing ability of the entire system by adding server components in parallel, therefore spreading out the workload.

When scaling out, it's widely recommended to bring in a load balancer to spread out request to multiple servers. To make this work, database servers need to be configured in the same way to synchronize data.

Scaling up and scaling out can be used differently based on what you're trying to accomplish. For example, certain times of the day when there's a lot of traffic on the server and you want to improve processing ability at that time only, scaling out is used. So conversely, when we want to handle bigger loads scaling up is used.

For systems hosted on a cloud service, it's also possible to adjust resource capacity and number or servers automatically in coordination with the fluctuation of traffic to the system.

Scalability

Learning Objectives

If you can get a system with high scalability potential in place, you can keep offering a service without having to worry about servers failing or getting overloaded due to sudden spikes in users and the traffic that comes with them.

Anticipate the future growth of the service, and aim to incorporate a system that takes advantage of scaling.

Learn from Here

It's ideal to learn scalability and the skills that come with it alongside actually running a service and gaining the experience of protecting a system in real-time. Here though, try to visualize what kind of skills are involved with scalability.

  • Understanding the Basics of Scalability

    Get to Know the Importance of Sizing

    Scaling up and Scaling out on Cloud Services

    Auto Scaling

    Handle Jobs When Scaling Out and Scaling In

    Handle Scheduling When Scaling Out and Scaling In

Recommended Materials

  1. Application Scaling - AWS Auto Scaling - AWS

Share what you learn today!