
On Mon, May 16, 2011 at 6:37 PM, William Cooper <wcooper02@gmail.com> wrote:
S/W vs H/W is really a question rooted in performance and feature needs vs cost... weigh your options carefully.
Load balancers are _both_ hardware and software. There's really no such thing as a load balancer solution that is just hardware or one that's just software (aka Firmware); it does not exist -- real load balancers are both hardware and software. And all software has bugs; some of which might (some day) disrupt the intended operation. There are packaged solutions that are integrated hardware and software sold as a product. There are do-it-yourself solutions that are off-the-shelf hardware, and software of your choice, including open source options on commodity hardware, that require manual selection of the software programs used to facilitate load balancing functions, and maintain them in case of exceptions, hardware failures, or other unexpected exceptions. Both packaged and custom built have their own advantages and disadvantages, there are tradeoffs, and no universal best; they both meet different sets of requirements. Devices packaged by a load balancer manufacturer; usually have things like user interfaces, instruction manuals, configuration guidance, and warranty/support for the entire device, both hardware and software. In addition, the whole thing is tested by the manufacturers as one product, and there may be specially integrated hardware functions supported by the load balancer, that are not found in commodity hardware (e.g. specialized crypto processors for RSA/AES/SSL acceleration, ASICs, etc). The manufacturer's work to deliver their product comes at a high price, so taking a do-it-yourself with open source software will have much lower prices paid to the vendor: instead of paying a manufacturer for a product. Except, if you actually went through the same effort as the manufacturer of the product, it might be more expensive than buying the product, so chances are you will do less, and have a less refined result. Building a load balancer with cheap hardware and open source software, puts you in the manufacturer's seat. This provides a huge amount of flexibility, but also adds complexity, and gives you a lot of choices about what software to put in the box, and how to set up each package. Your engineering team may need a great deal of familiarity with both the software and hardware, and a lot of patience to achieve performance equivalent to an integrated unit. Your exact choices of software and package versions for load balancing or high availability, might (or might not) have been tested by someone with a similar scenario, on similar hardware. In case something goes wrong, you won't be getting a replacement unit overnighted in by the manufacturer, ready to plug in and load a 5kb config. You have only the troubleshooting and configuration guidance you yourself developed, before/during use of that, so if an unexpected condition arises, chances are you won't have as much guidance for troubleshooting or likely causes, as a vendor would. Requiring different procedures for dealing with a failure or malfunctioning of the load balancing. In case you do have hardware/software support, for a commodity hardware solution, you may find your vendors pointing fingers at one another. -- -JH