Tech Glossary
Elastic Load Balancing (ELB)
Elastic Load Balancing (ELB) is a service provided by Amazon Web Services (AWS) that automatically distributes incoming application traffic across multiple targets, such as Amazon EC2 instances, containers, IP addresses, and Lambda functions. The purpose of ELB is to improve the fault tolerance, availability, and scalability of your applications by spreading the workload evenly across various resources, thus preventing any single instance from becoming overwhelmed.
ELB can handle varying levels of incoming traffic dynamically, automatically adjusting the distribution as traffic patterns fluctuate, which makes it a key component in handling application traffic surges. ELB supports several types of load balancers, each designed to address different use cases:
Application Load Balancer (ALB): Best suited for HTTP and HTTPS traffic, it operates at the application layer (Layer 7 of the OSI model). ALB allows advanced routing features such as host-based and path-based routing, making it ideal for microservices architectures or container-based applications.
Network Load Balancer (NLB): Operates at the transport layer (Layer 4), specifically designed to handle TCP, UDP, and TLS traffic. NLB is optimized for high performance and low latency and is typically used for applications that require ultra-fast load balancing of millions of requests per second.
Classic Load Balancer (CLB): The original ELB service, operating at both Layer 4 and Layer 7, primarily used in older AWS applications. While still available, CLB is generally less feature-rich compared to ALB and NLB.
Elastic Load Balancing also integrates with other AWS services like Auto Scaling and Route 53 to automatically scale resources based on traffic load, ensuring high availability and failover. For example, if one target fails or becomes unresponsive, ELB can automatically reroute traffic to healthy targets to minimize service disruption.
ELB also supports secure applications by managing SSL/TLS certificates, offloading the encryption and decryption work from your compute instances, allowing them to focus on processing application data. Furthermore, ELB logs traffic activity and metrics, offering insights into performance and helping to monitor any potential bottlenecks.
In summary, Elastic Load Balancing is a critical tool in building highly scalable, reliable, and available applications in the cloud. It automates traffic distribution, provides fault tolerance, and helps ensure applications can handle large amounts of traffic efficiently.