LB vs Clustering vs Others

There are various techniques available to deliver resilience and improve response times for back-end servers. Load balancers distribute requests across a server pool using intelligent algorithms. As they do not require the servers to share resources, they tend to be quite easy to set up. Other ways to provide resilience include using Microsoft Windows Server clustering in active/active or active/passive configurations to provide failover.  In the largely virtualized server infrastructure environment in use today there are tools such as VMware DRS (Dynamic Resource Scheduler) and HA (High Availability). Microsoft’s Hyper-V virtualization platform delivers HA in the form of High Availability Virtual Machines. In reality it’s likely that your infrastructure platform will use a combination of these solutions depending on what applications and services you are providing. Which to use will be dependent on your needs and infrastructure.

Deployingload balancers may deliver all of the functionality you need for availability and service responsiveness. Load balancers not only distribute basic web traffic to a pool of back-end web servers, but they also provide lots of other features that help keep your infrastructure operating in an optimal way. They can load balance all of the standard Internet protocols and are aware of many of the business critical applications in use today. Applications such as Microsoft Exchange, SharePoint and Skype can all be intelligently load balanced. As can applications from VMware, SAP and Oracle.  Load balancers monitor the health of the servers they are load balancing and also the individual services and applications hosted on them. If a server, service or application is not responding as it should, requests can be redirected to other resources. Various intelligent algorithms are used by load balancers to determine which back-end servers to send requests to. These algorithms use the health of the servers and the state of the network at multiple layers when making choices.

It may be the case that a server you have does not suit being operated with a load balancer. One example of this is Microsoft SQL Server (MS SQL). To provide high availability and resilience for MS SQL servers the best approach to take is to deploy AlwaysOn Failover Clustering Instances on top of Windows Failover Clustering. This can be coupled with AlwaysOn Availability Groups to provide disaster recovery solutions or with Log Shipping to replicate database transactions to another standby database or site. When looking at MS SQL Server resilience technologies, note that Database Mirroring has been deprecated and shouldn't be included in any SQL architectural designs. Load balancers can play a role in providing resilience for your database solutions as a whole. Many databases use front-end web based applications to access the query and update the data in the SQL database. These web and application servers are ideal candidates for load balancing.

The adoption of virtualization technologies as the standard model for server deployments has introduced additional methods for providing high availability and improving the resilience of servers. For example VMware’s vSphere platform provides DRS and HA options. The former automatically moves running virtual machines between physical host servers to ensure that the load on the hosts is evened out, thus ensuring a consistent response from all the virtual machines. The latter monitors the state of physical hosts and if one goes offline then HA will reboot new instances of the virtual machines it was hosting on other available physical hosts. It therefore provides protection against physical host failure. HA can also be set to monitor individual virtual machines and restart a new instance if it is not responding. Note however that HA does not instantly switch over virtual machines. It runs a new instance and connections to the old instance are lost.

Microsoft provides similar functionality for high availability and resilience on their Hyper-V virtualization platform. They provide Performance and Resource Optimization (PRO) via System Centre Virtual Machine Manager (SCVMM) and System Centre Operations Manager (SCOM). PRO monitors individual hosts within the Hyper-V platform and if one is getting overloaded it will move virtual machines. Hyper-V provides HA via High Availability Virtual Machines that are also configured in SCVMM.

The approach you take to providing high availability and maximum performance for your web and applications servers will be unique to your infrastructure. Load balancers should be a core part of your network. They enable a better experience for the users of the back-end service and they make it easier for the IT department to exceed SLA’s and expectations. When coupled with server clustering and virtualization tools, a robust platform is the result.

One last point: load balancers should be deployed in resilient pairs to guard against a single point of failure. That way, your front-end servers and back-end servers will be resilient. LoadMaster supports HA deployment and DR deployments spread over geographically split data centers.