BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

AWS Launches Application Load Balancer

| by David Iffland on Aug 15, 2016. Estimated reading time: 1 minute |

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

Adoption Stage
Style

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.

Tell us what you think

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

Email me replies to any of my messages in this thread

Session management will be significantly improved also.... by Colbert Philippe

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

Email me replies to any of my messages in this thread

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

Email me replies to any of my messages in this thread

1 Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and dont miss out on content that matters to you

BT