Author here, happy to answer any questions about how ALB could fit into our cloud architectures.
Aside from growing pains for any AWS service -- figuring out how to use it and seeing how reliability it is in practice -- this seems like the new path forward for more of the services we're running on AWS.
ALB seems to be missing a critical part: hostname based routing. Currently all your container services have to be under the same FQDN.
Also, the limit of 10 virtual hosts per ALB seems very artificial. Otherwise ALB could be used for virtual hosting of tens or hundreds of low-load container based web services.
I've implemented virtual hosting manually with an Nginx container, but it would be really useful to have ALB do that.
100% agree, especially when there's a reasonable chance that the ALB itself is based on Nginx or some other technologies that has no problem with more complex routing rules or hundreds of virtual hosts.
The good news is that it does seem like Amazon is artificially restricting it for now, and intends to further open it up later. From the release blog post [1]:
> As you will see in a moment, each Application Load Balancer allows you to define up to 10 URL-based rules to route requests to target groups. Over time, we plan to give you access to other routing methods.
The new $16 price point was news to me. I'd seen the $0.008 from Amazon's blog post, but never broke out the calculator. Especially given that unlike the ELB you can get support for multiple apps on one, it's great to see some cost savings there.
I'd be interested to know if anyone has an inkling of how Amazon implemented in the ALB. It seemed to be a loosely guarded secret that ELBs were actually just a forked version of HAProxy, and I wonder if they went that direction again versus implementing their own software from scratch.
6 comments
[ 2.4 ms ] story [ 26.9 ms ] threadAside from growing pains for any AWS service -- figuring out how to use it and seeing how reliability it is in practice -- this seems like the new path forward for more of the services we're running on AWS.
Also, the limit of 10 virtual hosts per ALB seems very artificial. Otherwise ALB could be used for virtual hosting of tens or hundreds of low-load container based web services.
I've implemented virtual hosting manually with an Nginx container, but it would be really useful to have ALB do that.
The good news is that it does seem like Amazon is artificially restricting it for now, and intends to further open it up later. From the release blog post [1]:
> As you will see in a moment, each Application Load Balancer allows you to define up to 10 URL-based rules to route requests to target groups. Over time, we plan to give you access to other routing methods.
[1] https://aws.amazon.com/blogs/aws/new-aws-application-load-ba...
I'd be interested to know if anyone has an inkling of how Amazon implemented in the ALB. It seemed to be a loosely guarded secret that ELBs were actually just a forked version of HAProxy, and I wonder if they went that direction again versus implementing their own software from scratch.
They also have the newish API gateway service fronting Lambda.
It wouldn't make much sense giving users their own EC2/HAProxy thing for these more dynamic load balancing services.