GSLB in Avi Vantage for Horizon
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 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
- 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
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.
Some of the common use cases to implement GSLB are as follows:
|Type of Deployment||Description||Use Cases|
|Geo-based load balancing||
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|