We all know about the importance of a periodic health checkup with our doctor. As the expression goes, "An ounce of prevention is worth a pound of cure." This concept equally applies to application servers.
Network load balancers (NLBs) can serve as "doctors" by executing health checks against load balanced servers. This can range from very simple checks such as a ping or a TCP port check to more complex health checks such as an HTTP method executed against a given virtual directory, the start of an SMTP conversation with a mail server, or the passing of an RDP token to make sure that a terminal server is rendering a login prompt. If a health check fails, the server is immediately taken out of the rotation of available servers and client requests are sent to other healthy servers until the failing target passes the check again.
An example of why a more complex health check might be needed is that the network stack could be functioning properly, but the application could be unresponsive. An intelligent load balancer ensures that this is detected and only sends traffic to servers that are in working condition from end-to-end.
Related Article: KEMP Provides Smart Load Balancing
In order to understand the ways in which NLBs do their monitoring, it is important to have some knowledge of the Open Systems Interconnection (OSI) model. The OSI model describes a seven-layer framework in which each layer provides data transmission functionality to the layer above or below it.
Server health checking is performed by load balancers to allow for effective direction of traffic to the best-performing servers. Simultaneously, the NLBs monitor those servers that have fallen below acceptable performance, eject them from the pool when this occurs, and only re-add them to the pool of available servers when they recover sufficiently. How does this all work?
- The Ping. The ping is a simple but effective way to find out whether or not a server is connected to the network. Although this accounts for confirmation of system connectivity, it doesn't probe into application health as some other methods do and therefore is generally used when requirements are simpler. The ping is considered a Layer 4 health check.
- TCP connect. This check is more sophisticated than a simple ping; it can determine whether or not a server is responsive on a given port, which gives some insight into the services that are active on the system.
- HTTP Layer 7 checks. A Layer 7 check is ideal for validating web server functionality. This type of health check executes GET, HEAD, or POST methods against a specified virtual directory and parses the response for the configured expected reaction, which indicates proper functionality of the web-based application. In some cases, a server might have an operational TCP/IP stack and be responding on the correct port but have a web application that is not operating correctly. This health check ensures that if this situation were to arise, it would be detected.
Load Balancers with Layer 4 and Layer 7 health check capabilities are ideal because this allows flexibility for any application needs that might arise. Although there might be a stigma that load balancers or application delivery controllers with advanced functionality are always expensive, this is not the case today. There are products available that have successfully overcome this challenge by providing an intelligent solution suite to meet the needs of businesses, enterprises, and organizations both large and small. It is important to find a load balancer that in addition to offering many intelligent health check options also provides features such as intrusion prevention, pre-authentication and single sign-on (SSO), SSL acceleration, and content switching, as well as solutions catered to various platforms such as virtual environments, Dell ecosystems, and Cisco UCS fabric infrastructures.
Chris Heyn is the general manager of KEMP Technologies Italy. He lives in a small village called Arcene, about 40km from Milan. For the past 14 years, Chris has been involved in business development for ICT companies looking to expand their activities into Italy and the eastern Mediterranean as well as the Middle East.