How Hybrid Web Cluster compares to MS NLB

« Back to Comparisons

MS NLB is designed for running one big site across many identical machines with no local storage. Hybrid Web Cluster will easily run many different sites simultaneously and allows you to use local storage, meaning you don’t have to rewrite your sites to work in a clustered environment.

If you need to scale to hundreds or thousands of servers for one site, you need our consultancy services, because your sites will need to be modified.

Microsoft Network Load Balancer

  • MS NLB balances load based on an unintelligent algorithm. Basically a random number generator decides which machine to allocate the request to.
  • NLB requires shared backend storage if the websites are interactive or change at all. To get shared backend storage which scales as you add more nodes to the cluster, you need to shell out big bucks for NAS/SAN and fibre channel (or comparable) to handle all that bandwidth from your increasing number of frontend servers. This also introduces a single point of failure. Even if you have two backend storage servers, they still need a shared data device. What happens when that device fails?
  • NLB also uses a trivial and uninformed distributed load balancing algorithm (basically a random number generator). This works if each request generates an identical amount of load. Unfortunately this is not usually the case!

Hybrid Web Cluster

  • Hybrid Web Cluster intelligently balances load by assigning the request to the one machine which is currently live for that site, which is guaranteed to be a machine with suitable spare capacity to service all requests for it.
  • Hybrid Web Cluster does not require shared backend storage. All the website data is stored on the individual nodes and changes are streamed to n other servers (for n-redundancy) within ten seconds of each change. This means there is absolutely no single point of failure (except perhaps the physical network equipment, which can be solved by dual-homing and duplicating routers/switches).
  • Hybrid Web Cluster nodes are constantly informing each other of their load, and in this way if any node establishes it is unfairly loaded, it intelligently migrates a correct proportion of its sites away to different machines with appropriate spare capacity.



In general Hybrid Web Cluster takes a different approach – each node is homogeneous, it can run database, web and email services, and a website generally runs on just one node at once (although we have plans to remove this limitation to allow single websites to scale to using resources from multiple nodes). The real value of it is that if you have a hundred different websites which might at the drop of a hat need to use the capacity of an entire machine, but which on average will use just 10% capacity of each machine, you can consolidate them into a 20-node Hybrid Web Cluster (for 50% spare capacity), rather than having to play it safe and provisioning 100 nodes (or 50, and then hoping that no two websites on the same node get busy at the same time). Hybrid Web Cluster will automatically juggle the load around by transparently moving whole websites from one node to another as and when it needs to.