Trending:
Cloud & Infrastructure

Teams waste $2,000 yearly running 10 AWS ALBs when two would work

Application Load Balancers cost $16-22 monthly whether they handle ten requests or ten thousand. Most teams deploy one ALB per microservice, missing path-based routing capabilities that consolidate workloads onto shared infrastructure. The pattern is well-documented, Terraform modules exist, yet over-provisioning persists.

The Pattern

AWS Application Load Balancers route traffic at Layer 7, enabling path-based (/api/* to API service) and host-based (api.example.com to API service) routing. This isn't new technology. HashiCorp documents it for canary deployments. GitHub hosts production-ready Terraform modules. Yet teams routinely deploy separate ALBs per microservice.

The Economics

Each ALB costs $0.0225 hourly (roughly $16.40 monthly) plus $0.008 per Load Balancer Capacity Unit. Ten ALBs generate $164 in fixed monthly costs before serving a single request. Most staging environments handle minimal traffic but pay full freight.

Consolidation math: Two ALBs (production and staging) cost $32.80 monthly versus $164 for ten. Add LCU charges and you're looking at $813 annually versus $2,568. That's 68% savings for infrastructure doing identical work.

Implementation Reality

The technical barrier is low. Terraform's aws_lb_listener_rule resource handles routing logic with priority-based evaluation. A single HTTPS listener can forward /api/* to one target group, /admin/* to another, with a catch-all rule for the web frontend.

What the search results don't address: why teams keep over-provisioning. Security isolation requirements matter. Blast radius concerns are legitimate. Team autonomy argues for separate infrastructure. Some organizations genuinely need per-service ALBs.

The Trade-offs

Consolidation introduces operational complexity. One ALB failing affects multiple services. WAF rules become more intricate. Observability gets harder when traffic for six services flows through shared infrastructure. Migration isn't free.

The question isn't whether consolidation saves money (it does). The question is whether your architecture actually needs per-service isolation, or if you're paying for it out of habit.

What This Means

If you're running ten ALBs serving low-to-moderate traffic, audit your routing requirements. Path-based and host-based patterns handle most use cases. The Terraform patterns are mature. The cost difference is material.

If you need isolation for compliance, team boundaries, or failure containment, keep the separate ALBs. But know you're paying $150 monthly for that architectural decision. Make it deliberately, not by default.