An Introduction to Citrix Load Balancer
Load balancing distributes network traffic among multiple application servers based on an optimization algorithm. Thus, load balancing helps enhance application performance and availability. The Citrix load balancer comes in the form of an application delivery controller (ADC) that can be installed on both cloud platforms and datacenters.
This article will discuss the various algorithms and benefits and how Citrix ADC uses Layer 4 and Layer 7 of the Open Systems Interconnection (OSI) model to optimize network traffic.
What is Load Balancing?
High-traffic websites get millions of incoming requests for their pages daily. The size of the packets that run from websites to users can add up if pages contain images, audio, and video. The same applies to applications and/or databases that receive millions of queries.
Organizations rely on physical or virtual servers grouped together in so-called server farms to serve high traffic volumes to accommodate user requests. If an increase in network traffic slows down response, more servers can be added to the farm.
Hardware or software-based load balancers helps ensure that network traffic is served most efficiently. Load balancers reside between firewalls guarding the network perimeter and server farms, redirecting incoming traffic to servers with the least load or closest to the user.
When a server goes down, the load balancer automatically redirects traffic to other servers. When a new server is added to the farm, the load balancer adds it to it to the list of servers to where it sends traffic. Thus, load balancers prevent server overload and ensure faster loading times.
Common Load Balancing Algorithms
To know how to serve requests from users better, load balancers use network traffic optimization algorithms. IT teams can select from the available algorithms for a load balancer during setup. Among these algorithms are:
- Round robin: This is the easiest to implement, as it relies on sending requests to servers sequentially. For example, an incoming request is forwarded to Server 1, the next one is sent to Server 2, and so on. However, since server load is not taken into account when this algorithm is used, it can potentially lead to server overload.
- Least connection method: This algorithm sends requests to servers with the least active connections. It prevents the server overload that may occur with the round-robin algorithm discussed above.
- Least response time method: This algorithm sends a monitoring request to a server to determine how fast it can serve a request. It then forwards the actual request to the server with the fastest response time.
- Least bandwidth method: This algorithm measures the amount of traffic from servers. Requests are then sent on to the server that is getting the least bandwidth. A variant of this method is the least packets method, which selects the server based on the number of packets transmitted over the network.
- Hashing methods: These rely on hash data from incoming packets such as connector or header information. They are more complex to set up than other methods.
- Custom load method: Using Simple Network Management Protocol (SNMP), this algorithm queries the server’s network traffic load based on CPU usage, memory, and response time, among other options. It then forwards requests based on the results obtained from your servers.
Benefits of Load Balancing
After setting up the algorithm for your load balancers, check that there is an improvement in your website or application’s response time, data delivery, and use of resources. You can experiment with the algorithms as you see fit if performance has not improved that much.
Once you are satisfied with the performance, expect to see other benefits to using load balancing properly. Among these benefits are:
- Redundancy: If a server goes down, the load balancer automatically shifts traffic to other servers. Therefore, a load balancer is an essential component of your high-availability architecture.
- Flexibility: You can add servers to, or remove servers from, your farm at any time. There is often no limit to how many servers you can add to your network, although there might be cost implications if you add more servers than required.
- Scalability: When you notice a slowdown in performance, not only can you add servers on the go, but you can also add them without any downtime. The same is true when removing servers from your network.
Layers 4-7 of the OSI Model
In terms of the OSI model governing network communications, load balancers work using Layers 4-7 (L4-L7). In contrast, firewalls that provide security to your network operate on Levels 1-3 (L1-L3).
Under the OSI model, L1 protocols refer to physical connection, L2 to the data link, and L3 to the network itself. On the other hand, L4 refers to transport, L5 to session, L6 to presentation, and L7 to the application itself.
Aside from routing traffic to your servers efficiently, software-based load balancers such as Citrix ADC provide other benefits, including the capability to analyze predictively potential traffic bottlenecks in your network. In the case of Citrix ADC, it uses Layer 4 and Layer 7 load-balancing techniques to achieve this.
Layer 4 load balancing manages network traffic on the transport layer using TCP and User Datagram Protocol (UDP). When routing network traffic to your servers, the number of connections and server response times are considered. Thus, network traffic is forwarded to servers with the least number of connections and faster response times.
On the other hand, Layer 7 load balancing works on the application layer, meaning that the basis for traffic routing decisions is data that resides within the website or application, including HTTPS headers, URL types, and message content. This means that Citrix ADC and similar load balancers can select a server based on requested content.
Aside from L4 and L7, software-based load balancers can also employ the Global Server Load Balancing (GLSB) technique to send user requests to the next available datacenter in your network.
In the case of Citrix ADC, it is capable of GSLB. It also uses intelligent health monitoring to route requests to healthy servers and avoids servers potentially having problems.
The downside to software load balancers is the complexity of setting them up and configuring them. While they may well be worth it, you can also go for a solution that offers the same capabilities without the extra hassle of complex configuration.
High Availability Load Balancing with Parallels RAS
Parallels® Remote Application Server (RAS) is a full-featured remote working solution with complete yet easy load-balancing capabilities. Your organization also does not need to acquire pricey add-ons to start using Parallels RAS. Moreover, you can also use Parallels RAS in Wide Area Network load balancing scenarios.
Parallels RAS uses two methods for making network traffic decisions. The first method is resource-based load balancing, which distributes sessions between servers depending on the current server load. In contrast, the second method is round-robin load balancing, which redirects network packets to servers based on sequential order. No matter which you choose, it is easier to set up these two methods than the more complex load balancing algorithms.
Parallels RAS allows Remote Desktop Session Host (RDSH) servers to be deployed on-demand using custom templates. With this capability, Thus, your organization can scale its hosts dynamically without complex configuration.
Parallels RAS also offers High Availability Load Balancing (HALB). This feature distributes connections based on server load. Moreover, it helps Parallels RAS direct traffic intelligently to healthy gateways, minimizing the risk of having single points of failure.
With a single license model that already includes all features, including load balancing and FIPS 140-2 encryption support, Parallels RAS can help reduce your capital expenditure costs.
See how Parallels RAS can ease your load balancing infrastructure setup!