Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News AWS Launches Application Load Balancer

AWS Launches Application Load Balancer

Leia em Português

This item in japanese


Amazon has launched their Application Load Balancer (ALB), a new type of intelligent load balancer that promises to reduce the cost of load balancing for those running HTTP-based services.

ALB is an OSI Layer 7 load balancer and can route to different back-end services based on the content of the packets. Unlike the existing load balancer, an OSI Layer 4 TCP/UDP balancer, the ALB will look at the packets and send them to the right service. Currently, up to 10 separate rules can be defined to route traffic based on the URL.

This is a boon for those running fine-grained back-end services. Instead of running an elastic load balancer for each service, a single ALB can balance traffic for many back-end services. For example, a URL containing /api can be routed to a different back-end service than a URL containing /signup.

In future updates, it's likely that the ALB will be able to route based on arbitrary HTTP header information. Amazon's Jeff Barr hints at such improvements, saying "Over time, we plan to give you access to other routing methods."

In addition to standard HTTP routing, the ALB also supports WebSockets and HTTP/2.

At the August 11th AWS Summit in New York, Amazon CTO Werner Vogels says the new load balancer is dramatically better:

What we've heard from some of our earliest customers that were in the private beta is that not only is it much faster than the Classic Load Balancer, there's also a signficant reduction in cost that you'll see here. Typically 10% or more.

Other cloud providers already have similar offerings. Microsoft's Azure has their Application Gateway product and Google also has an HTTP(S)-based balancer.

The ALB already works with other AWS products such as Auto Scaling, ECS, CloudFormation, CodeDeploy, and Certificate Manager. Integrations with Elastic Beanstalk and AWS Config are in the works. The existing Elastic Load Balancer is now called a Classic Load Balancer and is still available. Existing Classic Load Balancers can be migrated to an ALB using the Load Balancer Copy Utility.

For more information, read Barr's blog post on how to set up the new ALB.

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Session management will be significantly improved also....

    by Colbert Philippe,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    As soon as I heard about these types of products, I immediately thought of Session Management! In the past designers had to choose between to opposing strategies for session management: 1) Sticky session strategy and 2) Distributed session strategy where a distributed cache (like Redis) makes sessions available in each server. Both of these methods have their pluses and minuses, with #2 having the edge of #1. #1 saves CPU cycles by avoiding distributed cache update but makes it hard to scale down optimally. #2 makes scaling up or down easier to write and manage but it relies so much the cache. What if the cache failed, even for a few seconds? Now with this Application LB, we can anticipate a hybrid method that will combine elements of both. To start with the distributed cache is preserved on all servers! It's just too useful to get rid of! Secondly, we keep the strategy of #1 of forwarding packets to the machine with the session (last used). This avoids the distributed cache update on every packet when a random server is chosen for destination. However in case of server failure, or to consolidate little used servers, then sessions can be moved to machines with free space and allow for the total number of servers to be reduced and keep cost low. It's the best of both worlds! This implies that we will have an agent that will constantly monitor the usage of servers and consolidate the sessions into as few machines as possible. It's great!

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p