Monday, March 3, 2008

NetScaler

A friend of mine was saying good things about NetScaler (acquired by Citrix). It's a load balancing layer-7 content switch. Their software is mainly a FreeBSD kernel module called the Core Packet Processing Engine which has been tuned to minimize unresponsiveness due to I/O interrupts . He suggested that I might want to buy three (@~$50k each) -- two in my primary data center and one in my backup -- and use it to load balance all my critical services. Apparently it can determine what servers are under utilized or not available, look at user packets and then intelligently reroute them to the optimal server. This made me uncomfortable at first since in the past I've wanted to keep the intelligence in my application. Especially for webapps that write to a database. How could I trust a switch to change the server in between the steps of a transaction? There are white papers on how this works and the Optimizing Web Applications paper has a six page explanation. My friend mentioned that I can customize it to load balance for my application. E.g. I could create specific rules by using a Perl API to make regex's it will follow when processing packets. People are really doing this kind of thing, including Google.

No comments: