![Photo by Patrick Fore on Unsplash Photo by Patrick Fore on Unsplash](/var/ezflow_site/storage/images/archive/2021/62/software-instead-of-appliances-load-balancers-compared/photobypatrickforeonunsplash_balance-rocks.png/182766-1-eng-US/PhotobyPatrickForeonUnsplash_Balance-rocks.png_medium.png)
Photo by Patrick Fore on Unsplash
Software instead of appliances: load balancers compared
Balancing Act
For a long time now, load balancers have supported any number of back-end servers. If the load in the setup becomes too high, you just add more servers. In this way, almost any resource bottleneck can be prevented. Understandably, the load balancer is a very important part of almost every web setup – if it doesn't work, the website is down. Appliances from F5, Citrix, Radware, and others were considered the quasi-standard in the load balancer environment for a long time, although powerful software solutions that ran as services on normal Linux servers (e.g., HAProxy or Nginx) were available.
The cloud-native trend is a major factor accelerating the shift toward software-defined load balancing these days, not least because typical appliances are difficult to integrate into cloud-native applications – reason enough for a brief market overview. What tools for software-based load balancing are available to Linux admins? What are their specific strengths and weaknesses? Which software is best suited for which scenario?
Before I get started, however, note that not all of the load balancers presented here offer the same features.
OSI Rears Its Head
As with hardware load balancers, different balancing techniques exist for their software counterparts. In a nutshell, many load balancers primarily differ in terms of the Open Systems Interconnection (OSI) layer on which they operate, and some load balancers offer support for multiple OSI layers. What sounds dull in theory has significant implications in practice.
Most software load balancers for Linux operate on OSI Layer 4, which is the transport layer. They field incoming connections by certain protocols – usually TCP/IP – on one side and route them to their back ends on the other. Load balancing at this layer is agnostic with respect to the protocol being used. Therefore, a Layer 4 load balancer can distribute HTTP connections
...Buy this article as PDF
(incl. VAT)