Core Architecture Principles with ELB
Elastic Load Balancing is not just a traffic distributor; it is a core building block for resilient systems.
Designing for High Availability
To achieve high availability:
- Deploy targets in multiple Availability Zones.
- Enable load balancer across the same AZs.
- Use Auto Scaling Groups behind the load balancer.
The load balancer becomes the stable entry point. Even if one AZ fails, traffic is routed to healthy targets in other zones.
Architecturally, this enforces fault isolation at the AZ level.
Horizontal Scalability
ELB integrates tightly with Auto Scaling.
When demand increases:
- Auto Scaling adds instances.
- Instances register into target groups.
- ELB begins routing traffic automatically.
No client changes required.
This is horizontal scaling at the infrastructure level, abstracted from the application layer.
Stateless Application Design
Load balancers assume that requests can go to any backend.
If your application stores session state in memory, you introduce coupling.
Architectural best practice:
- Externalize session state (e.g., Redis, DynamoDB).
- Or use ALB sticky sessions carefully.
Stateless design ensures that scaling remains linear and predictable.
Deployment Strategies
With multiple target groups, you can implement:
- Blue/Green deployments
- Canary releases
- Weighted routing
This enables safe production rollouts.
In this section, I learned:
0 of 4 completed