GSLB in Avi Vantage for Horizon

Overview

Global Server Load Balancing (GSLB) is the act of balancing an application’s load across instances of the application that have been deployed to multiple locations. Application load at any one of those locations is usually managed by a local load balancer.
With companies and employees alike preferring to work from home or work on the go, there really is no guarantee where users may be at any point in time. This presents a headache to most companies as they plan to create front doors for user productivity. The challenge is much larger than just availability, disaster recovery, or business continuity today than it was a couple of years ago.
The go-to solution for this is Global Server Load Balancing. With GSLB, access to resources is controlled with DNS queries and health checking. Knowing if a site is healthy or not, GSLB serves back the IP in the form of a DNS record of the site the user should access based on the configured logic.
If you have multiple instances of application/UAG servers deployed across the globe, and your users are geographically dispersed then, GSLB is required.

Avi GSLB

GSLB

  • Avi Vantage is running in two locations (GSLB sites), both on-premises - Avi GSLB Site1 and Avi GSLB Site2 . Each site has its own Avi Controller cluster (represented by a single Controller icon)
  • Avi load balancer for UAG has virtual services (VS1 and VS2) running in both the locations
  • Both the locations have global DNS services (DNS1, DNS2). They are all equally authoritative for the subdomain gslb.horizon.com.
  • Avi chooses the location to steer the client’s requests based on the configured algorithm.
  • Avi monitors the health of the virtual services in order to choose the best location (that is, rule out unhealthy locations)
  • It synchronizes configuration and state across GSLB sites, to ensure VS1 and VS2 can continue despite certain failures

Request Flow

Step 1: FQDN Address Resolution

The client sends an HTTPS request to access the resources. The client’s fully qualified domain name (FQDN), A.gslb.horizon.com has to be mapped to an IP address which is not yet known to the client. A hierarchical tree of DNS resolvers eventually identifies the corporate DNS for gslb.horizon.com. Since the domain ` gslb.horizon.com` has been delegated to Avi’s global DNS, the corporate DNS forwards the request to either one DNS 1 or DNS 2 based on the type of deployment.

  • DNS 1 responds to the DNS query with the VIP of VSI and VS2 (based on the GSLB algorithm configured), which eventually makes it to the original client.
  • If one of the virtual services (for example VS1) is down, for some reason, the DNS will respond to all the DNS queries with the VIP of another virtual service (here, VS2) until VS1 is back up again.

Step 2: Application Traffic Flows to Optimal Virtual Service and Local Load Balancing

The client uses the VIP to send its HTTP request. One of the SEs receive the request that has been directed to the VIP. The request is then load balanced to one of the UAG servers here.

The virtual service then responds directly to the client.

Use Cases

Some of the common use cases to implement GSLB are as follows:

Type of Deployment Description Use Cases
Active/active
  • Applications are deployed in multiple data centers
  • In case of a data center failure, application instances running in the remaining data center(s) can take over the user traffic
  • To improve website reliability and availability in the face of server of network outages
  • High Availability
  • Maximum up time
Active/standby
  • Applications are deployed in two data centers
  • While both are healthy, all traffic is directed to the primary DC
  • If the primary DC fails, the global DNS directs all user traffic to the other
  • Disaster recovery and resiliency
Geo-based load balancing
  • Applications are depolyed in multiple data centers
  • Avi GSLB can steer user traffic to the most optimal location
  • Satisfying regulatory and security requirements
  • Optimized user experience

Sizing with GSLB

It is recommended to have a separate SE group with GSLB.

GSLB needs one SE per site for DNS handling and monitoring. This can be a 1 core SE for GSLB for Horizon. For example,

  • Site 1: 250 users with small workloads (email, MS Office applications, multiple monitors)
  • Site 2: 1000 users with high workloads (3D modelling, Hi Def video, 3D graphics)
Site Number of Users Approximate Throughput per User Total Throughput = Number of Users X Throughput per User
(Maximum of 20 Mbps per User)
Number of SEs Active/Active HA GSLB
Site 1 250 600 Kbps 150 Mbps 1 core SE x 2 1 core SE
Site 2 250 600 Kbps 150 Mbps 1 core SE X 2 1 core SE
Total Cores = 6 4 2

Suggested Reading