NLB vs Hardware Load Balancer
Since I have started to work for Kemp Technologies (http://www.kemptechnologies.com) i started to get lots of questions abut the Microsoft Load Balancer versus Kemp Load Balancer.
What is a Load Balancer
A load balancer can be deployed as software or hardware to a device that distributes connections from clients between a set of servers. A load balancer acts as a ‘reverse-proxy’ to represent the application servers to the client through a virtual IP address (VIP). This technology is known as server load balancing (SLB). SLB is designed for pools of application servers within a single site or local area network (LAN).
Load balancers are used to provide availability and scalability to the application. The application can scale beyond the capacity of a single server. The load balancer works to steer the traffic to a pool of available servers through various load balancing algorithms. If more resources are needed, additional servers can be added.
Load balancers health check the application on the server to determine its availability. If the health check fails, the load balancer takes that instance of the application out of its pool of available servers. When the application comes back online, the health check validates its availability and the server is put back into the availability pool.
Because the load balancer is sitting in between the client and application server and managing the connection, it has the ability to perform other functions. The load balancer can perform content switching, provide content-based security like web application firewalls (WAF), and authentication enhancements like two factor authentication (2FA).
Have a specific question about load balancing? Jump through the article through the links below;
What a load balancer supports?
Load balancing is designed to give the application availability, scalability, and security. As a reverse-proxy, the load balancer acts as a multi-functional valve to direct and control the traffic between the clients and servers.
Load Balancer Uses
- Automatically detect server failures and redirect client traffic
- Allow for server maintenance without any impact
- Provide automated disaster recovery to backup sites
- Add and remove application servers without disruption
- Monitor and block malicious content
How does a load balancer work?
A load balancer is a reverse proxy. It presents a virtual IP address (VIP) representing the application to the client. The client connects to the VIP and the load balancer makes a determination through its algorithms to send the connection to a specific application instance on a server. The load balancer continues to manage and monitor the connection for the entire duration.
Imagine a sports agent negotiating a new contract for a star athlete. The agent takes the request from the athlete and sends it to a specific interested team. The team responds with information (an offer) which the agent then passes back to the client. This goes on for a while until a resolution is reached.
This is the primary function of the load balancer, server load balancing (SLB). The agent can provide additional functionality based on their role in the conversation. They can decide to allow and/or deny certain details (security). They may want to validate that the person they are talking to is actually the athlete in question (authentication). If the current sports league is not working out, the agent can send the discussions to a different league based on availability or location (GSLB).
What types of load balancers are out there?
To understand the types of load balancers, one needs to understand the history.
Network Server Load Balancers
Load balancers entered the market in the mid-1990s to support the surge of traffic on the internet. Load balancers had basic functionality designed to pool server resources to meet this demand. The load balancer managed connections based on the packet header. Specifically, they looked at the 5-tuple – source IP, destination IP, source port, destination port, and IP protocol. This is the entry of the network server load balancer or Layer 4 load balancer.
Application Load Balancers
As technology evolved, so did the load balancers. They became more advanced and started providing content awareness and content switching. These load balancers looked beyond the packet header and into the content payload. These load balancers look at the content such as the URL, HTTP header, and other things to make load balancing decisions. These are the application load balancers or Layer 7 load balancers.
Global Server Load Balancing
Global server load balancing (GSLB) is actually a different technology than the traditional layer 4-7 load balancer. GSLB is based on DNS and acts as a DNS proxy to provide responses based on GSLB load balancing algorithms in real time. It is easiest to think of GSLB as a dynamic DNS technology that manages and monitors the multiple sites through configurations and health checks. Most load balancing solutions today offer GSLB as a component of their functionality.
Hardware vs Software vs Virtual Load Balancing
Load balancers originated as hardware solutions. Hardware provides a simple appliance that delivers the functionality with a focus of performance. Hardware-based load balancers are designed for installation within datacenters. They are turn-key solutions that do not require the dependencies that software-based solutions require such as hypervisors and COTS hardware.
As network technologies evolved, software-defined, virtualization, and cloud technologies have become important. Software-based load balancing solutions offer flexibility and the ability to integrate into the virtualization orchestration solutions. Some environments such as cloud require software solutions. Software-based environments often use DevOps and/or CI/CD processes. The software load balancer is more suited for these environments with their flexibility and integration.
Elastic Load Balancers
Elastic Load Balancer (ELB) solutions are far more sophisticated and offer cloud-computing operators scalable capacity based on traffic requirements at any one time. Elastic Load Balancing scales traffic to an application as demand changes over time. It also scales load balancing instances automatically and on-demand. As elastic load balancing uses request routing algorithms to distribute incoming application traffic across multiple instances or scale them as necessary, it increases the fault tolerance of your applications.
What are load balancing algorithms?
Load balancing algorithms are formulas to determine which server to send each client connection to. The algorithms can be very simple, like round robin, or they can be advanced like agent based adaptive. No matter the case, the purpose of the algorithm is to send the client connection to the best suited application server.
The most commonly recommended algorithm is least connection. This algorithm is designed to send the connection to the best performing server based on the number of connections it is currently managing. Least connections takes into account the length of each connection by only looking at what is currently active on the server.
Types Of Load Balancing Algorithms
- Least Connection
- Round Robin
- Weighted Round Robin
- Weighted Least Connection
- Agent Based Adaptive Load Balancing
- Chained Failover (Fixed Weighted)
- Weighted Response Time
- Source IP Hash
- Software Defined Networking (SDN) Adaptive
What is a Kemp load balancer?
The Kemp LoadMaster load balancer is designed to optimize the load balancing experience. LoadMaster is a software-based solution that is also available as a hardware appliance. Kemp focuses on the core load balancing technologies to ensure a simplified configuration and management process. This focus translates to a significant TCO savings for the life of the technology.
Kemp offers world class support through an extensive organization of experts to offer assistance to customers 24×7. Kemp has built a team of load balancing and networking experts over many years to become a premier technology organization with over 100,000 deployments in 138 countries.
Why use Kemp load balancers?
Kemp LoadMaster is the leading load balancer available on the market today. Affordable load balancers available as both virtual load balancers and hardware load balancers.
Kemp LoadMaster supports the most popular hypervisors including:
Kemp LoadMaster is certified by leading vendors including:
Kemp provides load balancing solutions for:
- Corporate email
- Unified Communications
- Collaborative work tools
- ERP/CRM and other workflow applications
- Web content
- e-commerce systems
- Self-provisioning applications
Microsoft NLB based on TechNet:
Network Load Balancing (NLB) is an optional feature in Windows Server® 2008 that load balances network traffic (sent to a cluster virtual IP address) among multiple servers in an NLB cluster.
NLB is particularly useful for ensuring that stateless applications, such as a Web server running Internet Information Services (IIS), are scalable by adding additional servers as the load increases. The NLB functionality in Windows Server 2012 is generally the same as in Windows Server 2008 R2. However, some task details are changed in Windows Server 2012
Kemp Load Balancer based on Kemp Web site
KEMP Technologies has been a leader in driving the price/performance value proposition for load balancers and application delivery controllers to levels that our customers can afford. KEMP Technologies LoadMaster line of Load Balancers integrates powerful, stable, full-featured load balancers with layer-7 content switching, SSL acceleration and security.
KEMP has created an ideal family of products for customers looking for the best price/performance value proposition in high availability application delivery.
Windows NLB has lots of limitations and problems and these can be especially important with Exchange, Sharepoint and Lync cases. Examples are: Below are some highlights from Kemp Technologies Technical Services Director Ben Hodge
1. Uneven spread of workloads across server pool resulting in slow user response times and high latency for the application
2. Manual configuration of all nodes required making it difficult to scale and troubleshoot
3. No application aware health checks resulting in user downtime due to application errors and freezes
4. No SSL acceleration, caching or compression resulting in poor performance and high resource usage (especially CPU) on server nodes, important for all HTTP/S based applications like Exchange OWA and Sharepoint
5. No L7 persistence or scheduling methods, especially important for mobile clients, SharePoint, RDS and Exchange OWA services
6. Can’t co-exist with Windows Failover Clustering (used for Exchange DAG) so cannot support multi-role Exchange server topology which is Microsoft’s recommended topology as of Exchange 2013
7. Limited control of source IP NATing so cannot support complex network topologies and security zoning
8. Cannot provide reverse proxy services (essential for Lync 2010 & 2013)
9. Cannot provide pre-authentication and SSO functionality , especially important for Exchange OWA and Sharepoint external access
These are only few main points, for more info you can always call Kemp at : +612 9191 9778 or visit Kemp web site.