Elastic Load Balancer (ELB) is a load balancing service provided by the Amazon Web Services. The main task of elastic load balancer is to balance the load for the internet facing server applications. It distributes the incoming traffic amongst various available resource based on pre-defined rules and also scales resources to meet the demand.
ELB helps the organizations in managing capacity according to incoming application and regular internet traffic based on geographical location or specific server based. It maintains the consistent application performance in alignment with the server.
Main features offered by ELB –
- Health checks for instances
- Performance monitoring and error detection
- Encryption and authentication
- IPv4 and IPV6 support
Use cases –
- Modern day applications with serverless and containers
- Maintenance of existing network applications
- Improvement in hybrid cloud network scalability
Types of Elastic Load Balancer –
- Application Load Balancer – these load balancers are best suited to handle the traffic of HTTP and HTTPS, they operate at layer 7 load balancer and have application awareness. These are intelligent and provides us with capability to create advanced routing and sending specific request to specific web server.
- Network Load Balancer – These are best suited for TCP traffic where extreme performance is required. It operates at the connection level, layer 4. Network load balancer are capable for handling millions of request per second while having ultra-low latencies.
- Gateway Load Balancer – These helps you to deploy, scale and manage third party virtual applications. It provides the gateway for distributing traffic across multiple virtual applications while scaling them up or down based on demand. This decreases potential points of failure in your network and increases availability.
Advanced Load Balancers –
- Sticky Sessions – These allow the user to bind a user session to a specific server, which ensures that every request from a specific user reaches to the same server. This helps in maintaining the data exchange between two servers for a particular session.
- Path Pattern – This is based on a set of rules set up by the user to forward request based on the URL path this is also known as path routing. If you are running micro services it can route traffic to multiple back-end servers.
Features of Elastic Load Balancers –
High Availability – Elastic load balancer depend on EC2 instances, it performs the health checks on instances to ensure that it is still running before sending traffic towards it. If an instance is not available or unhealthy ELB routes traffic towards other available EC2 instances. It can also route traffic outside the availability zone in case all instances are unhealthy in a zone. It can also work with Route 53 (Amazon Route 53 is a highly available and scalable Domain name system (DNS) web service. Route 53 connects user requests to internet applications running on AWS or on-premises.)to move towards another healthy ELB and fail over across AWS regions.
Automatic Scaling –ELB provides auto scaling feature to guarantee enough resources to maintain flow of traffic. It requires the user to setup auto scaling rules and when any condition is met a new EC2 instance can be started up to meet the desired minimum or reduce latency.
Security –ELB supports applications with in the amazon virtual private cloud (VPC ) for better network security. A user can work between an internet facing or internal load balancer, the latter providing private IP address to route traffic. It also provides SSL encryption.