bg_image
header

Classic Load Balancer - CLB

A Classic Load Balancer (CLB) is an older load balancing solution from Amazon Web Services (AWS) that operates at the network level (Layer 4). Compared to the newer Application Load Balancers (ALB) and Network Load Balancers (NLB), the Classic Load Balancer provides basic traffic distribution for applications.

Here are some features and functions of a Classic Load Balancer:

  1. Layer-4 Load Balancing: The Classic Load Balancer distributes network traffic based on IP addresses and port numbers to the underlying EC2 instances.

  2. TCP and SSL/TLS Protocol Support: CLB supports load balancing traffic for the Transmission Control Protocol (TCP) and also provides SSL/TLS termination, allowing encrypted connections to be decrypted at the load balancer and then forwarded to the backend instances.

  3. Simple Health Checks: The Classic Load Balancer can perform basic health checks on the underlying EC2 instances to ensure that only healthy instances receive traffic.

  4. Automatic Scaling: CLBs support automatic scaling by dynamically responding to the number of healthy instances.

It's important to note that compared to the newer ALB and NLB, the Classic Load Balancer offers fewer advanced application-level features. With the introduction of ALB and NLB, AWS has provided more advanced load balancing solutions that can better meet the specific requirements of modern applications and architectures.

If you are implementing load balancing in AWS, it is recommended to consider using Application Load Balancers (ALB) or Network Load Balancers (NLB), unless you have specific reasons to stick with the Classic Load Balancer.

 


Network Load Balancer - NLB

A Network Load Balancer (NLB) is a service that distributes network traffic at the transport layer (Layer 4 of the OSI model). Unlike the Application Load Balancer (ALB), which operates at the application layer (Layer 7), the NLB works at a lower level, primarily considering IP addresses and port numbers to distribute traffic.

Here are some features and functions of a Network Load Balancer:

  1. Layer 4 Load Balancing: The NLB distributes network traffic based on IP addresses and port numbers. This type of load balancing is versatile, as it is independent of application protocols.

  2. TCP and UDP Protocol Support: NLBs support both the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP), allowing them to handle traffic for a variety of applications.

  3. Scalability: Similar to ALB, the NLB also supports application scaling by automatically adding new instances or resources and distributing network traffic accordingly.

  4. Health Monitoring: The NLB continuously monitors the health of targets (servers or resources) to ensure that traffic is only directed to healthy targets.

  5. Static IP Addresses and Port Mapping: NLBs can use static IP addresses and port mappings to ensure that incoming traffic is directed to the correct targets.

  6. Fewer Application-Level Features: Compared to an ALB, an NLB provides fewer features at the application layer, as it primarily operates at the network level. However, it can provide basic protocol features such as TCP and UDP load balancing.

Network Load Balancers are commonly used in scenarios where traffic needs to be distributed at the transport layer without requiring specific application-level information. This makes them particularly suitable for protocols where simple forwarding based on IP addresses and ports is sufficient.

 


Application Load Balancer - ALB

An Application Load Balancer (ALB) is a service that distributes network traffic at the application layer among various targets to enhance the availability and scalability of applications. Typically utilized in cloud computing and web applications, an ALB helps balance the load on different servers or resources, ensuring that no single resource is overwhelmed, thereby improving application performance and availability.

Here are some key features and functions of an Application Load Balancer:

  1. Traffic Distribution: An ALB distributes incoming traffic across different servers or resources to balance the load, ensuring that no single resource is overwhelmed and improving application performance and availability.

  2. Scalability: ALBs support application scaling by automatically adding new instances or resources and distributing traffic accordingly, facilitating the handling of increased demand.

  3. TLS Support: An ALB can support Transport Layer Security (TLS) for secure data transmission, encrypting traffic between the client and the load balancer, as well as between the load balancer and the targets.

  4. Content-Based Routing: ALBs can route traffic based on the content of the request (e.g., URL paths, hostnames), allowing for flexible configuration in applications with different components or services.

  5. Health Monitoring: An ALB continuously monitors the health of targets to ensure that traffic is only directed to healthy instances or resources. If a target is deemed unhealthy, traffic is redirected to healthy targets.

  6. WebSockets Support: ALBs can also support WebSockets, a communication protocol for bidirectional communication over the Hypertext Transfer Protocol (HTTP).

  7. Integrated Protocol Features: ALBs can handle protocols such as HTTP, HTTPS, TCP, and WebSocket, covering a wide range of use cases.

Application Load Balancers are often integral to cloud platforms like Amazon Web Services (AWS) or Microsoft Azure and play a crucial role in ensuring the availability, scalability, and reliability of applications in the cloud.

 


Elastic Load Balancer - ELB

An Elastic Load Balancer (ELB) is a service provided by Amazon Web Services (AWS) that distributes traffic across multiple targets, such as Amazon EC2 instances, in one or more AWS regions. The primary purpose of an Elastic Load Balancer is to evenly distribute the load among individual servers or resources, ensuring balanced utilization and enhancing the availability and reliability of applications.

There are various types of Elastic Load Balancers in AWS:

  1. Application Load Balancer (ALB): This load balancer operates at the application layer (Layer 7 of the OSI model) and can distribute traffic based on HTTP and HTTPS requests. An Application Load Balancer is well-suited for modern applications, microservices, and container-based architectures.

  2. Network Load Balancer (NLB): This load balancer operates at the network layer (Layer 4 of the OSI model) and distributes traffic based on IP addresses and TCP/UDP ports. Network Load Balancers are suitable for applications with high data throughput and require extremely low latency.

  3. Classic Load Balancer: This is the older version of the Elastic Load Balancer, capable of operating at both the application and network layers. However, Classic Load Balancers are gradually being replaced by Application Load Balancers and Network Load Balancers.

Configuring an Elastic Load Balancer typically involves using the AWS Management Console, AWS Command Line Interface (CLI), or AWS SDKs. The advantages of Elastic Load Balancers lie in scalability, improved application availability, and automatic distribution of traffic to healthy instances or resources.

Elastic Load Balancers can also be integrated with other AWS services to support additional features such as Auto Scaling, security groups, and SSL/TLS termination. Overall, the use of Elastic Load Balancers provides an efficient way to make applications highly available and performant.