What is Load Balancer?
Load Balancer is used to distribute network or application traffic across multiple devices to increase the availability and improve responses of applications. The load balancer is a device that is placed between the server and client accepting the incoming application and network traffic and distributing across multiple targets. This reduces the load of an individual server and prevents the application becoming a single point of failure thus improving the application’s overall availability and responsiveness.
AWS Load Balancer on the Cloud
AWS Elastic Load Balancer (ELB) is used to distribute incoming application or network traffic across a cluster of servers, such as Amazon EC2, containers, and IP addresses in multiple availability zones. Elastic Load Balancers automatically scales your load balancer as traffic changes over time and distribute appropriately. AWS offers three choices of Elastic Load Balancing – Classic Load Balancer, Application Load Balancer, and Network Load Balancer.
Benefits of AWS Elastic Load Balancer
- The load balancer distributes the workload across multiple resources, such as virtual servers.
- Increase the availability and creates a fault tolerance system.
- Add or remove the compute resources from the load balancers as the demand changes without interrupting the network traffic.
- Configuring health checks allow you to monitor the health of compute resources so that load balancers can send traffic to only healthy instances.
- Scales the load balancer as the traffic to your application changes.
AWS Classic Load Balancer (CLB)
Since it is recommended to have more than 1 instance to distribute the traffic, it is possible to have just had a single server. In Classic Load Balancer the incoming traffic is distributed across multiple EC2 instances in multiple availability zones. A listener in the classic ELB checks for a connection request from clients, using the port and protocol that is configured, and forwards requests to one or more instances.
AWS CLB operates are Layer 4 of the OSI model, meaning the traffic is routed between clients and backend servers based on the TCP port and IP address. While using classic load balancer it is important to assign the same number of instances in each availability zone since it serves the same amount of traffic between the availability zone.
Benefits of Classic Load Balancer
- Supports EC2- Classic instance
- Supports TCP and SSL Listeners
- Supports for sticky sessions using application generated cookies
AWS Application Load Balancer (ALB)
In AWS Application load balancer, the load is distributed across multiple targets in multiple availability zones. A listener in the ALB checks for a connection request from clients, using the port and protocol that you configure, and forwards request to one or more target groups, based on the rules that you define. Each rule should be defined with a specific target group, condition, and priority. The traffic is forwarded to the target group only if the condition is met.
AWS Application Load Balancer operates at Layer 7 of the OSI model. Once the load balancer receives a request, it assesses the listener rules and apply based on the priority order, and then selects a target from the target group.
Benefits of Application Load Balancer
Let’s look at some of the benefits over Classic Load Balancer:
- Supports host-based routing and path-based routing.
- Can be used to route requests to multiple applications on a single instance.
- Support for registering targets by IP address, including targets outside VPC.
- Improved load balancer performance.
- Access logs will have additional information that is stored in compressed formats.
- Support for containerized applications.
AWS Network Load Balancer (NLB)
Network Load Balancers is designed to handle the unexpected and volatile surge in traffic patterns which makes it a perfect load balancer for TCP traffic. It can handle millions of requests per second and still maintain low latency.
Network Load Balancers operates at the Layer 4 of the OSI model to route inbound traffic to AWS targets such as EC2 instance, containers or IP address. It also supports static and elastic IP addresses and loads balancing to multiple ports on the same instance.
Benefits of Network Load Balancer
Some of the benefits over Classic Load Balancer are as follows:
- Ability to handle sudden unexpected and volatile workloads.
- Support for a static and elastic IP address.
- Support for routing request to multiple applications on a single Instance.
- It supports container applications.
- Can monitor the health of each service independently.
Determining the Right Load Balancer
The AWS offers three choices of load balancers: Classic Load Balancer, Application Load Balancer, and Network Load Balancer. But, how do you know which one is an ideal one for your use case?
Application Load Balancer is perhaps best protocol-oriented load balancing service since it enforces the use of latest SSL/TLS protocols. They are ideal for balancing loads to microservices and container-based applications. Since they allow load balancing across multiple ports on a single EC2 instance, Application Load Balancer is an ideal choice for containers, microservices, and while using a static elastic IP address. Also, Network Load Balancer supports multiple ports on the single instance, you might consider using NLB over ALB if you need to support a static or dynamic IP address.
If you need simple load balancing with numerous protocols then Classic Load Balancer is the best choice. Some of the features of both CLB and ALB overlap such as IPv6, monitoring, sticky session, logging, and SSL decryption, managing SSL certificates, and encryption to back-end instance with optional public key authentication. CLB offers flexible support by allowing you to control the protocols of load balancers.
InterPole was established in 1996 and has been engaged in web hosting, email, and management of IT infrastructure. InterPole pioneered with Virtual Private Servers in 2004 and Cloud Hosting in 2008. Over the years, InterPole has worked with over 6200 mid-sized businesses and startups, and have assisted them in their journey towards the adoption of modern technologies through the Internet. InterPole is a Standard Consulting Partner of Amazon AWS and Microsoft Azure. With this partnership, provides Managed AWS service and maintains a team of engineers who are trained and certified for the specific cloud platforms. These benefits companies in defining their cloud strategy and making a well-planned journey, reliably and cost-effectively.