To Evenly distribute incoming WEBSITE requests across a farm of Azure App VMs

PauloMatos 170 Reputation points
2023-02-17T12:16:12.3633333+00:00

Hello,

To Evenly distribute incoming WEBSITE requests across a farm of Azure App VMs

what is recomended to use?

Azure Application Gateway or Azure Load Balancer?

Thank You

Azure Virtual Network
Azure Virtual Network
An Azure networking service that is used to provision private networks and optionally to connect to on-premises datacenters.
2,775 questions
Azure Application Gateway
Azure Application Gateway
An Azure service that provides a platform-managed, scalable, and highly available application delivery controller as a service.
1,217 questions
Azure Load Balancer
Azure Load Balancer
An Azure service that delivers high availability and network performance to applications.
506 questions
0 comments No comments
{count} votes

Accepted answer
  1. GitaraniSharma-MSFT 50,096 Reputation points Microsoft Employee Moderator
    2023-02-17T13:03:45.0666667+00:00

    Hello @PauloMatos ,

    Welcome to Microsoft Q&A Platform. Thank you for reaching out & hope you are doing well.

    I understand that you would like to evenly distribute incoming web requests across a farm of Azure App VMs and would like to know if it is recommended to use Azure Application Gateway or Azure Load Balancer.

    First, I would recommend you to go through the below article where you have a Decision tree for load balancing in Azure and you can determine which load balancing solution is better for your setup:

    https://learn.microsoft.com/en-us/azure/architecture/guide/technology-choices/load-balancing-overview

    Now, coming to your question of even distribution of requests:

    Azure Load Balancer doesn't support true round robin load balancing but supports a hash-based distribution mode.

    Azure Load Balancer supports two distribution modes for routing connections to your load-balanced applications:

    • Hash based
    • Source IP affinity/Session persistence

    The default distribution mode for Azure Load Balancer is a five-tuple hash.

    Hash-based mode has one configuration type:

    • None (hash-based) - specifies that successive requests from the same client may be handled by any virtual machine.

    Refer: https://learn.microsoft.com/en-us/azure/load-balancer/concepts

    https://learn.microsoft.com/en-us/azure/load-balancer/distribution-mode-concepts

    https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-troubleshoot-backend-traffic#virtual-machines-behind-a-load-balancer-are-receiving-uneven-distribution-of-traffic

    If you need a more round-robin type of load balancing, then I would suggest you go with Azure Application gateway.

    When the Application gateway selects the backend pool, it sends the request to one of the healthy backend servers in the pool (y.y.y.y). The health of the server is determined by a health probe. If the backend pool contains multiple servers, the application gateway uses a round-robin algorithm to route the requests between healthy servers. This load balances the requests on the servers.

    Refer: https://learn.microsoft.com/en-us/azure/application-gateway/how-application-gateway-works

    Kindly let us know if the above helps or you need further assistance on this issue.


    Please "Accept the answer" if the information helped you. This will help us and others in the community as well.

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.