AWS Elastic Load Balancing
AWS Cloud has firewalls, load balancers, WAF and many other interesting services which can be used easily and freely for the first year or paying as we use. I work with Load Balancers from time ago and AWS Elastic Load Balancing is an Amazon Service I’m working on right now. I have already talked about the Benefits of Layer 7 Load Balancing such as making decisions based in requests and responses of applications, modifying data in transit, redirecting, showing messages, caching, compression, encrypting as well as better availability and performance.
AWS Elastic Load Balancing (ELB) is not like a traditional load balancing appliance because I don’t know whether it supports MultiPath TCP, SACK, Nagle’s Algorithm, Long Fat Networks, prevents Web Scraping, etc but AWS ELB is enough for most companies. For instance, we can use AWS Application Load Balancer (ALB) for HTTP and/or HTTPS load balancing which also supports WebSockets and HTTP/2, path-based routing, health checks customization, SSL Offloading as well as integration with other AWS Services like AWS Certificate Manager (ACM), Amazon CloudWatch, AWS WAF, AWS CloudFormation, Amazon CloudFront, etc, etc, etc.
Comparison of Elastic Load Balancing Products
When we configure AWS ALB, we always have to choose at least two Availability Zones (AZ) to increase the fault tolerance of our applications. Therefore, Amazon recommends to have the same amount of EC2 instances in each AZ to distribute incoming application traffic across multiple zones. As a result, if one Availability Zone becomes unavailable, the load balancer can continue to route traffic to another Availability Zone.
|AWS ELB + Web App + Multi-AZ|
What we know as real servers at Radware or nodes at F5 BIG-IP, Amazon call them as Targets, which are EC2 instances with listening ports. In addition, we should configure our own custom health checks to route incoming traffic to healthy instances thus unhealthy instances, which application is not behaved properly, are not used by AWS ELB till they are alive again. What’s more, Stickness can be also configured into Targets to bind a client’s session to a specific instance within the target group.
|Path-and Host-Based Routing|
On the other hand, what we know as virtual servers at F5 BIG-IP, Amazon call them as Listeners, which are a set of protocol and port as well as the default target group to route requests to the targets in that default target group. Furthermore, if we choose HTTPS protocol into the listener, we can upload our own SSL Certificate or we can also use AWS Certificate Manager (ACM) to provision, manage, deploy and renew SSL Certificates.
|AWS ELB Architecture|
Eight years ago, I read, for the first time, about AppDirector and vDirect from Radware which allow us to create virtual machines automatically as services have more and more connections. As a result, virtual machines are powered on and powered off automatically when we need more resources and this is integrated into the load balancing to distribute traffic properly. This is what Auto Scaling can also do for us along with AWS Elastic Load Balancing.
|AWS Auto Scaling|
To sum up, we have today a reliable platform into AWS Cloud with lots of services where we can deploy our applications easily and inexpensively.
Regards my friends and keep studying!!