Load-balancing in Azure

Load-balancing in Azure

Here is a short article to help to demystify the options available to load-balance your applications in Azure.

Scenarios

  1. Protocol is the service served over HTTP/S (Web workload) or is Non-HTTP/S.
  2. Global vs Regional i.e. the service I am trying to load balance is it hosted in multiple multi regions (Azure or others) or is it all hosted in single Azure region
Quick update: New Cross-region load balancer is in Preview, more details here

In case you are in hurry, below is a quick comparison  

Comparisions between Load Balancing Services

Next, now let's explore each of these services in details

Azure Front Door Service (AFD)

It is a global secure entry-point to the cloud and is packed with multiple features.  

  • Application acceleration at Microsoft’s edge
  • Global WAF at edge
  • Global HTTP load balancing with fast failover
  • URL based load routing & cookie-based session affinity
  • Massive SSL offload
  • Integrated static content caching
  • Global app dashboard, service insights
  • AFD platform provides built-in DDoS protection against L3/L4 attacks out of box, and in case of L7 attack protection, you can enable WAF within AFD.

Most of the features are self-explanatory however let's explore what does Application acceleration at Microsoft’s edge means

Let's say you are hosting e-commerce website for your users in West Europe Datacentre in Azure if a person from South Africa tries to access the website will not get the best experience as latency comes into play, how do you solve the problem let's host it in South Africa right? while that is a solution sometime might not be practical due to complexity, cost, compliance requirements etc.

This is where the magic of Application Acceleration comes in by using Anycast protocol and Microsoft’s Global network that has 130 Point of Presence locations worldwide. So, when users from South Africa access your website, they are promptly connected to the nearest Front Door POP, and then the traffic is routed via Microsoft Backbone (high speed lit fibre optics cable). Also, if you got CDN enabled for your static content this further enhances the user experience.

Azure Traffic Manager

It is a DNS-based traffic load balancer that enables you to distribute traffic optimally to services across global Azure regions

Here is an illustration of how it works

  1. User requests ‘www.mysite.com’; the client starts with DNS request
  2. Recursive DNS service resolves www.mysite.com to mysite.trafficmanager.net
  3. Recursive DNS service queries Traffic Manager name server
  4. Traffic Manager chooses which endpoint to return, based on the traffic-routing method and health checks
  5. An Endpoint is returned in DNS
  6. Recursive DNS service completes the DNS chain to obtain an IP address
  7. DNS results returned to the client
  8. The client connects directly to the endpoint IP address, not through Traffic Manager

Application Gateway

Azure Application Gateway is an HTTP/S load balancer that enables you to manage traffic to your web applications

Some of the key features App Gateway offer are

  • URL based load routing & cookie-based session affinity
  • Cookie-based session affinity
  • SSL termination
  • Web application Firewall (WAF)

Load Balancers

Azure Load Balancer supports two deployment options:

  • External load balancer to provide high availability for IaaS VMs to be accessed from the public Internet.
  • Internal load balancer. You can use an internal load balancer to provide high availability for IaaS VMs accessed from other services in your VNet.

Below are typical scenarios load-balancers are used for

  1. Load balancing/distribution

2.  Inbound NAT rules (Port Mapping) ‌e.g. RDP access to multiple VMs through single VIP

3.  Internet access to VMs in a VNet

Decision Time

Okay, I get it can you help me choose? Yes! Azure Team has done a fantastic job of putting a decision tree to help you do exactly that.

Overview of Azure load-balancing options - Azure Application Architecture Guide
An overview of Azure load-balancing options.


Share Tweet Send
0 Comments
Loading...