Application Load Balancer
Definition
AWS's Layer 7 load balancer that routes traffic based on application content like URL paths, host headers, and HTTP methods.
Use Cases
- Netflix: Route and scale microservice-based web traffic with path/host-based routing and TLS termination. — Uses AWS Elastic Load Balancing (including Application Load Balancers) in front of services, integrating with Auto Scaling and health checks to distribute HTTP(S) traffic across multiple targets. (Improved service resilience and scalability by distributing traffic across healthy instances and enabling independent scaling of backend services.)
- Airbnb: Front-end HTTP(S) traffic distribution and gradual rollout patterns for web services. — Runs on AWS and uses Elastic Load Balancing to spread traffic across fleets of application servers with health checks and automated scaling; L7 routing enables separating traffic by hostnames and URL paths. (More reliable user experience during traffic spikes and safer deployments by isolating and scaling components independently.)
- Slack: Handle high-volume HTTPS traffic and route requests to different backend services. — Uses AWS infrastructure with load balancing in front of web tiers; L7 routing patterns support splitting traffic across service pools and enforcing TLS at the edge with health-based failover. (Better availability and performance by distributing requests across multiple healthy targets and scaling horizontally.)
Provider Equivalents
- AWS: Elastic Load Balancing - Application Load Balancer (ALB)
- Azure: Azure Application Gateway
- GCP: Google Cloud External Application Load Balancer (HTTP(S) Load Balancing)
- OCI: OCI Load Balancer (HTTP/HTTPS)
Frequently Asked Questions
- What's the difference between an Application Load Balancer and a Network Load Balancer?
- An Application Load Balancer (ALB) works at Layer 7 (HTTP/HTTPS). It can route based on content like URL paths, host headers, and HTTP methods, and it understands web concepts like cookies and redirects. A Network Load Balancer (NLB) works at Layer 4 (TCP/UDP/TLS). It’s optimized for very high performance and low latency, but it doesn’t do content-based routing because it doesn’t inspect HTTP requests.
- When should I use an Application Load Balancer?
- Use an ALB when you’re serving HTTP/HTTPS applications and need features like path-based routing (e.g., /api vs /checkout), host-based routing (api.example.com vs www.example.com), TLS termination, WebSocket support, or tight integration with container and instance targets. It’s especially useful for microservices where different services share the same domain but use different routes.
- How much does an Application Load Balancer cost?
- ALB pricing is usage-based. In AWS, you typically pay for (1) the time the load balancer runs and (2) capacity consumed, measured in Load Balancer Capacity Units (LCUs). LCUs are influenced by factors such as new connections per second, active connections, processed bytes, and rule evaluations. Costs increase with higher traffic volume, more complex routing rules, and more data processed. For exact rates, use the AWS pricing page and the AWS Pricing Calculator for your region and expected traffic.
Category: networking
Difficulty: advanced
Related Terms
See Also