Azure Load Balancer
What is Azure Load Balancer ?
Azure Load Balancer operates at layer 4 of the Open Systems Interconnection (OSI) model. It's the single point of contact for clients. Load balancer distributes inbound flows that arrive at the load balancer's front end to backend pool instances.
An Azure load balancer provides high availability for your application. The Azure load balancer is a fully managed service itself.
Why Choose Azure Load Balancer?
With Azure Load Balancer, you can scale your applications and create highly available services. Load balancer supports both inbound and outbound scenarios. A load balancer provides low latency and high throughput and scales up to millions of flows for all TCP and UDP applications.
Where we can user Azure load Balancer?
Load balance internal and external traffic to Azure virtual machines.
Increase availability by distributing resources within and across zones.
Use health probes to monitor load-balanced resources.
Employ port forwarding to access virtual machines in a virtual network by public IP address and port.
Standard Load Balancer provides multi-dimensional metrics through Azure Monitor. These metrics can be filtered, grouped, and broken out for a given dimension. They provide current and historic insights into the performance and health of your service. Resource Health is also supported.
Load balance services on multiple ports, multiple IP addresses, or both.
Azure Load Balancer Types
Public load balancer
Internal/ private load balancer
Public Load Balancer : A public load balancer can be used to load balance internet traffic to virtual machines. It can provide outbound connections for virtual machines (VMs) inside your virtual network.
Internal/ Private Load Balancer : An internal (or private) load balancer is used to balance traffic from within a virtual network.
Azure Load Balancer SKUs –
Basic: Basic tier load balancer provides basic features and restricted to some limits like for backend pool size it is restricted to only 300 instances, it’s restricted to a single availability set and it only supports multiple frontends for inbound traffic.
Standard: Standard tier load balancer is generally available and offers higher-scale and new features. It is a paid-for feature using a complex set of consumption-based charges and the Basic tier continues to be free. Also, we can scale out to 1000 instances and can span any virtual machine in a single virtual network, including blends of scale sets, availability sets, and machines.
Azure Load Balancer Features –
Load Balancing: Azure load balancer uses a 5-tuple hash that contains source IP, source port, destination IP, destination port, and protocol.
Outbound connection: All the outbound flows from a private IP address inside our virtual network to public IP addresses on the Internet can be translated to a frontend IP of the load balancer.
Automatic reconfiguration : The load balancer is able to reconfigure itself when it scales up or down instances on the basis of conditions. So, if more virtual machines are added into the backend pool, automatically load balancer will reconfigure.
Application agnostic and transparent : It doesn’t directly interact with TCP or UDP protocols. We can route the traffic based on URL or multi-site hosting
Health probes : When any failed virtual machines in a load balancer are recognized by the health probe in the backend pool then it stop routing the traffic to that particular failed virtual machine. It can configure a health probe to determine the health of the instances in the backend pool.
Port forwarding : The load balancer supports port forwarding ability if we have a pool of web servers, and we don’t want to attach a public IP address for every web server in that pool.