Elastic Load Balancing
WHAT IS IT? [Azure Load Balancer/ Google Load Balancer]
Sounds exactly like what it is: a physical or virtual device designed to help you balance the network load across multiple serves. You have a variety of ways to plan out your auto-scaling and generally have 3 options:
1 : Application Load Balancers: Can see inside your application and the requests it's making. ALBs are great for a scaling engine that will make intelligent decisions for you.
2: Network Load Balancers: Work best when you need to focus on performance. NLBs operate at the connection level, so filter traffic faster.
3: Gateway Load Balancers: endpoints to securely exchange traffic across VPC boundaries. GLBs allow you to deploy virtual appliances, such as firewalls, intrusion detection and prevention systems, and deep packet inspection systems.
bonus - there’s Classic Load Balancers too, but these are the Citroen 2CVs of load balancing. Forget about ‘em
WHAT’S THE FUSS?
Two reasons. You first have to select the appropriate load balancer for you, and then tack on the configuration features to enable a more efficient connection into your application. As always, there’s trade-offs. The challenge is maximising the value you can get out of your cloud configurations.
ALBs are best suited for HTTP/S traffic, operating at the highest level with the most information available to it. Applications use NLBs to balance TCP traffic, working a little lower down on the connection level, and GLBs make use of VPC endpoints that provide private connectivity between virtual appliances in the service provider VPC and application servers in the service consumer.
Once you’ve selected a load balancer, you’ll have to address how you’d like to route your traffic within your application. These instances may be across multiple AZs and tied to different load balancers, but it’s possible to intelligently route traffic to optimise your performance for each part of your application.
Here are a few top-level configurations which come in handy>
Sticky Sessions - You may want to ensure that only one user is tied to one EC2 instance, such as if they’re saving information to disk. But you may also end up with underutilised EC2 instances by sticking to just one server.
Cross-Zone Load Balancing : You may want to automatically balance incoming traffic across all EC2 instances regardless of the AZ that you’re currently using. You may sacrifice some performance by sending traffic into different geographic regions more spaced out with this option.
Path patterns: You can route your traffic intelligently based on URL paths, such as marcoverse.com/coolclub. But this may also not account for surges in traffic to specific pages, like say the Metaverse begins a slandering media campaign in retaliation.