A load balancer’s main purpose is spread the workload of a given task among many different resources, thus avoiding queue waits for process. In the IT realm, this is normally a server which forwards request to other servers in an attempt to spread the work evenly among them. An Elastic Load Balancer is an AWS service that provides a classical example of a load balancer. NOTE: It is not required to user any load balancing service from AWS and you can implement your own load balancing service.
Benefits of Load Balancing:
1. Spreads work load across multiple downstream instances.
2. Provides single point of access to server resources.
3. Handles loss of downstream instances by not sending work to them.
4. Performs regular health checks on downstream instances.
5. Provides SSL end point for webservers using HTTPS
6. Enforces stickness of cookies
7. Provides High availability
8. Can separate public traffic from private traffic.
Characteristics of Elastic Load Balancer
1. ELB are managed load balancers by AWS which guarantees them working, takes care of all upgrade, maintenance, high availability, and provides a few custom configuration options.
2. It is cheaper to create your own load balancers but cause considerable more resources.
3. ELB is integrated into EC2, Scaling groups, ECS, ACM, CloudWatch, Route 53, WAF, and Global Accelerator.
4. Four Types of Elastic Load Balancers:
1. Classic – CLB Deprecated – Version 1, HTTP, HTTPS, TCP, SSL
2. Application – ALB – Version 2, HTTP, HTTPS, WebSocket
3. Network – NLB – Version 2, TCP, TLS, UDP
4. Gateway – GLB – Operates at Network layer 3 IP Protocal.