After a careful analysis of your infrastructure support vis-à-vis your business needs, you have finally realized how critically important a load balancing solution is for your business to achieve its full potential of growth. It is indeed a dream scenario to face a business problem like this. However, when you start evaluating the different load balancing solutions available in the market, your search is most likely going to end up in a fix. The problem is – you would find a number of manufacturers in the market claiming to meet exactly the business requirement that you have. And now the onus is upon you to select the right load balancer. Here is a checklist which will be helpful to you in choosing the right load balancer depending on your needs. Of course it goes without saying that among those handpicked based on your specific requirement; the most economical one will get a seat in your datacenter.
1. Virtual IP –NAT:
Your site has only one address. End user accesses your site with address (e.g. www.viaedge.com). Since traffic has to be distributed to clustered server behind load balancer, your load balancer should create virtual IP address for all clustered server. To do this, does your load balancer use Network Address Translation?
2. Balancing based on server capacity:
Does this solution distribute load as per the server capacity? Capacity of each server may or may not be the same, and therefore the solution must take care that one particular server is not over loaded and start giving poor response.
3. Balancing based upon user category:
Solution should able to distinguish between a normal user and a premium user. Most of the time your site might be experiencing heavy traffic .You have limited server behind your load balancer and you have to ensure that your premium user must get efficient service. In this scenario, you have dedicated a few servers for your premium user. Hence solution must have capability to filter out normal users and priority users.
4. URL Parsing
Does your solution allow distribution based upon HTTP request content and client address?
Does it also filter out HTTP header based upon cookie, TTP URL, HTTP version, application type, and actual HTTP request such as GET and PUT?
5. Session Persistence
a. Does the load-balancing solution create session persistence?
b. Does the solution keep a listing of bindings between a user and a server?
c. Can the countdown timer for such bindings provide the ability for wide adjustments, as wide a range as one minute to two days?
d. Does the solution have intelligent persistence features, including not only IP source address and TCP port, but also SSL session IDs and user cookies?
e. How does the solution address cookie persistence when a session involves multiple servers?
a. How fast can the solution distribute load? Is there a limit to its speed? Is the limit of its speed that of the servers themselves or of some part of the solution (such as the speed of the switch router)?
b. What is its throughput, as measured in megabits per second?
c. If a switch router is the core of the solution, can it support all the major routing protocols, including those necessary for the Internet (RIPv1, RIPv2, OSPF, IPX RIP, IPX SAP, and BGPv4) as well as multicasting protocol such as DVMRP v3 and PIM-SM/DM?
d. Does the solution actively monitor content availability on the servers? That is, does it have extended content and application verification?
e. Does it redirect with requests for applications or content when the response fails?
f. Can the solution load-balance all TCP/IP services, including Web, proxy, virtual private networking, and streaming media services?
7. Health Check of Servers
Solution must ensure that all traffics are routed to healthy servers.
a. Does the load balancer regularly check the status of a server, including its current response speed, load, and capacity?
b. Does the solution provide easy viewing of the servers' status? (Is that available on a GUI, as part of the management tools?)
c. How does the solution check server condition?
i. Does it ping the server? How often?
ii. Or does it actively monitor server conditions? For example, does it use agents that are internal to the server? That monitor server heartbeats, reporting on server conditions often more accurately and fully?
a. Does the load-balancing solution have management tools, including:
iii. Trending analysis?
b. Do these features allow for both managing current traffic as well as forecasting, such as when upgrading of the server farm may be necessary? (See the next section for further questions about these features.)
c. Can the solution be administered securely and remotely, either based on secure shell (SSH) for command line or SSL if browser-based?
d. Does the solution have access-control features? (Limiting access maximizes bandwidth in and out of the server farm because it allows only authorized traffic, relieving all loads from unauthorized frames. It also strengthens protection from denial-of-service attacks.)
e. How easy is the solution to use?
f. How is updating done? Must servers be offline to update?
a. Does the solution provide true traffic-surge protection, the ability to scale service on the cluster to meet sudden spikes in traffic?
i. For measuring traffic spikes, does it actively verify both availability of the servers and content on those servers?
ii. Or does it provide the less desirable form of protection --the failure of actual traffic -- before responding?
b. Does it effectively eliminate single points of failure on the cluster? Or does it create a single point of failure, such as a single switch router on which the entire load-balancing solution depends?
c. Is there redundancy built into the solution? Or must you, as with a switch router-based solution, purchase an additional router to create it?
d. Does it have a protocol for hot-standby failover?
a. Can the solution be integrated with network security, so that it can be scanned like all other components?
b. Does it integrate with network security products, including the following?
ii. Routers (or router-like network devices)
iii. Transparent caches
iv. Proxy servers
c. How easily does it integrate with them? Does it require additional software to do so?
d. Do the security features of the solution include:
ii. Trace routing
iii. IP address check and port mapping
iv. NAT and SNAT
e. Is the solution able to be configured to protect against SYN attacks? For example, can administrators set it to enter protection mode after a certain number of unanswered SYNs?
a. With what platforms is the solution compatible?
b. Can the solution work in an environment with multiple platforms?
c. How easily can it be upgraded?
12. The final check
If many vendors have satisfied or scored equally in above check list then the following questions will definitely help you filter out many and zero down on one
a. How expensive is the solution compared to other solutions?
b. If it is an all-software model without dispatch, what costs to performance and efficiency result from all servers on the farm having to see all packets before they are filtered?
c. In the event of a server failure on this same kind of solution, how long does it take for the remaining servers to notify each other and adjust to this failure? How does that amount of time compare to the response time for failover in the other kinds of solutions?
d. Is the non-dispatch, all-software solution able to partition the cluster to serve different kinds of traffic?
e. Does the non-dispatch, all-software solutions have the comprehensive ability to handle persistent connections? (It probably has only minimal abilities to manage stateful traffic.) If the solution is an all-software, dispatching model, does the speed and processing power of the dispatching server limit thro