Opening Scenario
You're launching a consumer app. On day one it has a few hundred users. A week after launch, a viral social media post drives 50,000 simultaneous users. Two months later, you need to add a background job for nightly data processing. Your architecture must handle all three phases without being rebuilt each time. Let's reason through how to design this from the start.
Question Progression
1. Where do requests enter the system?
Question: You have multiple backend servers. How does a user's request reach the right one without knowing any server's IP address?
Reasoning: You can't give users a server IP directly — IPs change when instances restart, you need multiple instances for redundancy, and you want to add/remove servers without user impact.
Answer: An Application Load Balancer (ALB) sits between users and your backend fleet. It accepts all traffic on a single DNS name (e.g.,…
In the full tutorial
- Reference Architecture
- When to Reach for This Pattern