In simple words, an Azure Load Balancer can be defined as a cloud-based system that allows a set of machines to perform as one single machine to serve the request of a user.
The job of a load balancer, put simply, is to take on client requests, determine which machines in the set can manage such requests, and finally, forwarding those requests to the relevant machines.
There are several load balancers and numerous algorithms that process requests at various layers in the TCP/IP stack.
Microsoft's Azure Load Balancer supports load balancing for cloud services and virtual machines to scale applications and provide safety against failure of a single system, which could lead to an unwanted downtime and disruption of the service availability.
There are essentially three types of load balancers in Microsoft Azure. They are - Azure Load Balancer, Internal Load Balancer (ILB), and Traffic Manager.
The Azure Load Balancer is considered as a TCP/IP layer 4 load balancer, which uses the hash function on the source IP, source port, destination IP, destination port, and the protocol type to proportionately balance the internet traffic load across distributed virtual machines.
While the Azure Load Balancer utilizes the hash function to allocate the load, the traffic, however, for the source IP, source port, destination IP, destination port, and the protocol type goes to the same endpoint in the course of a session.
If a user closes the session and begins a new session, the traffic generating from the new session might be guided to a separate endpoint than that of the previous session, but all of the traffic coming from the new session will be led to the same endpoint.
The hash function distribution in the Azure Load Balancer leads to an arbitrary endpoint selection, which over the time creates an even distribution of the traffic flow for both UDP and TCP protocol sessions.
The Internal Load Balancer is an Azure Load Balancer that has only an internal-facing Virtual IP. This essentially means, users cannot apply an Internal Load Balancer to balance a traffic load coming from the Internet to internal input endpoints.
The Internal Load Balancer implements load balancing only for virtual machines connected to an internal Azure cloud service or a virtual network.
If the Internal Load Balancer is deployed within the Azure cloud service, then all the nodes that have been load balanced need to be a part of the cloud service.
In case the Internal Load Balancer is used inside a virtual network, then all the nodes that have been load balanced must be connected to the same virtual network.
The Traffic Manager load balancer can be described as an Internet-facing solution to balance the traffic load between many endpoints.
The Traffic Manager makes use of a policy engine and a set of DNS queries to steer the traffic to Internet resources. The Internet resource can be settled in one data centre, or multiple data centers spread across the globe.
Traffic Manager is only associated with the determination of initial endpoint. It is not involved in processing the redirection of each and every packet, and hence, it cannot be viewed as a standard load balancing engine.
1. Performance Algorithm – Directs the user to the nearest load-balanced node depending on latency.
2. Failover Algorithm – Typically directs the user to the principal node, except if the principal node is down, it redirects the client to a backup node.
3. Round Robin Algorithm – Implements a distributed approach to direct users to a node, using the weights attributed to such nodes.
The Traffic Manager deploys the Azure load balancer algorithm defined by a set of 'intelligent' policies, where every Traffic Manager URL resource is connected to the same set of intelligent policies.
The Traffic Manager also incorporates the functionality to disable or enable endpoints in its policy engine without taking down the endpoint. This provides the capacity to add or eliminate endpoint positions as and when required, or to manage the maintenance of the endpoints easily.
Users requiring multi-tier applications that need global accessibility and scalability can leverage the power of Traffic Manager 'performance' load balancing algorithm to redirect the clients to the nearest endpoint. This endpoint can be an Azure Load Balancer VIP, which is a load balancing user interface-tier across aggregated nodes.
Every user interface-tier node can put to use an Internal Load Balancer that balances the load of a middleware-tier across various nodes. Every middleware-tier should be connected to an 'SQL Always On Availability Group' data tier, which deploys a 3rd Party Appliance for implementing the SQL listener.
Whatever your load balancing needs might be - whether it's a single-tier or a multi-tier virtual machine or cloud service - Microsoft Azure Load Balancer can offer you flexible tailor-made solutions specifically designed for your deployment environments.
Get Updates on Tech posts, Interview & Certification questions and training schedules