Evaluate your SIEM
Get the guideComplete visibility for DevSecOps
Reduce downtime and move from reactive to proactive monitoring.
March 18, 2025
Load balancers play a key role in Amazon Web Services (AWS) systems by maintaining traffic distribution, detecting server issues, and redirecting client requests to available servers without any downtime. But, choosing the right AWS load balancer can be daunting, as it’s essential for optimizing your application performance and scalability.
Depending on your use case, you may find that an Elastic Load Balancer (ELB) or Application Load Balancer (ALB) better suits your needs. While they share similar functions, AWS ALB offers specialized features that may be more suitable for you depending on your AWS infrastructure. So, how do you determine which one is the right fit for your AWS environment?
Released by AWS in 2009, AWS ELB is a software-based load balancer that distributes incoming traffic across multiple Amazon EC2 instances. It serves as a single entry point for users with an Amazon EC2 instance.
Beyond traffic distribution, ELB maintains service reliability. It continuously performs health checks on all registered targets, ensuring that traffic is only routed to active and healthy instances, minimizing downtime and improving application performance.
Learn more about AWS Monitoring.
In 2016, AWS augmented its Classic ELB offering with an Application Load Balancer (ALB). The Classic ELB and the ALB share common functions, but the ALB has been specialized to provide users with enhanced capabilities.
Beyond having features of the Classic ELB, the ALB manages routing based on user-defined rules. A single ALB can direct incoming traffic to multiple services based on host-based or path-based rules, making it an excellent choice for modern cloud applications.
A fundamental difference between AWS ELB and ALB is how they handle and route requests, which is best understood through the Open Systems Interconnection (OSI) model. The OSI model is a conceptual framework that facilitates communication between different computing systems by segmenting them into seven layers.
Each layer in the OSI model is supported by the one below it. The model begins with Layer 1, the physical layer that represents the transmission medium (e.g., optical fiber, CAT-5 cable), and extends to Layer 7, the application layer, where web applications process requests.
The classic ELB operates at Layer 4, the transport layer, responsible for managing network traffic based on the TCP/IP or UDP protocol. Acting as a network device, classic ELB reads the protocol and port of incoming requests and forwards them to one or more backend Amazon EC2 instances. This makes classic ELB suitable for simple load balancing where traffic distribution is based on network-level parameters rather than the content of the request.
In contrast, the AWS ALB operates at Layer 7, the application layer, and redirects traffic based on the content of the request. The ALB analyzes the URL path, headers, and query strings of incoming requests and routes traffic accordingly. Instead of directing all traffic to a single pool of homogenous backend servers, ALB can forward requests to multiple target groups based on application-specific rules.
The Classic ELB is a simple yet effective load balancer. It’s easy to configure, making it a popular choice among AWS engineers who are familiar with its capabilities. If your environment consists of clearly defined services mapped to specific addresses, then the Classic ELB is the logical choice.
Like the more advanced ALB, the Classic ELB supports:
SSL termination
Sticky sessions
Termination of idle sessions
Completion of requests to instances in the process of being marked unhealthy.
As organizations adopt microservices architectures and container-based infrastructure, mapping a single address to a specific service becomes more complicated and harder to maintain. Unlike classic ELB, which routes requests solely based on protocol and port, ALB routes are based on request content.
Once you’ve set up an AWS ALB, you can access its advanced configuration settings within the AWS Management Console. After going to the Load Balancer section on the EC2 home page, you can create and modify load balancers as needed.
Just like the Classic ELB, ALB allows you to add additional listeners and point them to different targets. But ALB takes it a step further with view/edit rules, where you can manage routing logic.
Clicking the view/edit rules link allows you to add, edit and remove routing rules. These rules can be path or header-based, and each request is directed to a defined target group. A default action ensures that requests without a match to a preceding rule are routed to a predefined target group.
Deciding between an AWS ALB or ELB depends on your specific AWS environment and application requirements.
If your infrastructure consists of separate services, each mapped to a distinct URL, and you need basic load balancing, then the Classic ELB is a solid choice. It’s simple, effective, and widely used by AWS engineers.
But, if you’re working with microservices and containerized applications or need advanced routing capabilities, ALB is the better option. With content-based routing, multiple target groups, and deeper AWS service integration, ALB offers greater flexibility and scalability for modern cloud-native environments.
Ultimately, both ALB and ELB are powerful tools that enhance application performance and availability and are supported within your Sumo Logic account.
By choosing the right load balancer, you can optimize traffic distribution and system efficiency.
Try these load balancers today. Sign up for a 30-day free trial of Sumo Logic.
Reduce downtime and move from reactive to proactive monitoring.
Build, run, and secure modern applications and cloud infrastructures.
Start free trial