Introduction
Let's take a quick look at load balancing in AWS. We will compare Vertical Scaling against Horizontal Scaling using a load balancer.
Interactive Demo
Let's start by exploring an interactive demo showing Horizontal Scaling in action.
Start by switching from "Slow Traffic" to "Black Friday".
You'll notice quickly that a single EC2 can no longer handle the traffic and we need to Scale Out the servers to support more traffic.

Different Scaling Approaches
Single EC2
The first time someone goes to AWS, they typically spin up a single EC2 instance and route all traffic to it:

This is fine for small sites, but the problem with this approach is that Marketing love to send out e-mail campaigns to 10,000 people all at once. We need to think about how we're going to scale this approach.
This is where we need to decide if we want to use Vertical Scaling or Horizontal Scaling
Vertical Scaling
Vertical Scaling is the process of switching to bigger servers to meet demand.

Pros:
- Less complexity
- Better support for legacy applications
- Easier to maintain
Cons:
- Downtime likely during scaling
- Single point of failure
Horizontal Scaling
Horizontal Scaling is the process of adding more servers to meet demand. This is often done using a load balancer to split traffic between the nodes.

Pros:
- Downtime unlikely during scaling
- Offers redundancy
- Highly available
- Can reduce costs easier by scaling down the cluster during quiet periods
Cons:
- Harder to maintain
- May need development work to make your app compatible with running on multiple nodes
Summary
Every project has different requirements. However, if you're looking to create highly available infrastructure that can handle failure and scale out to meet demand then horizontal scaling can be an excellent choice.
If you're working with legacy applications that have not been refactored to support a multi-node setup then Vertical Scaling can be a performant and valid scaling solution. Just make sure you have a plan in place when the server inevitably goes down!