Respostas:
A distinção entre balanceadores de carga "hardware" e "software" não é mais significativa. O chamado balanceador de carga de "hardware" é uma CPU da classe PC, interfaces de rede com recursos de processamento de pacotes e algum software para unir tudo. Um balanceador de carga de "software" realizado em um bom servidor com NICs modernas é ... o mesmo.
O que você obtém com ofertas comerciais de ponta, como F5 ou Citrix Netscaler, é:
Com os balanceadores de carga de software (de código aberto), você não entende o contrário, o que obtém depende do software que você escolher e como o fará. Dito isto, normalmente você verá:
A diferenciação não está realmente em "hardware" versus "software". Está em "compre uma pilha de tecnologia comprovada como um appliance" em vez de "construa você mesmo". Obviamente, há muitas variáveis a serem consideradas ao tomar a decisão final (custos, conjuntos de habilidades internas, tolerância a tempo de inatividade, crescimento futuro etc.).
Os balanceadores de carga de hardware geralmente têm um conjunto mais rico de recursos, especialmente quando você chega aos grandes, como o F5. Você também tem o benefício adicional de maior escalabilidade por causa do descarregamento de hardware.
Por outro lado, se você souber que seu tráfego não será muito alto, os balanceadores de carga de software realmente terão um desempenho muito bom. Se você pode se responsabilizar por ter um LB de Camada 4, o Linux LVS + Keepalived é uma opção muito boa. Se você precisar do poder de um Layer 7 LB, poderá experimentar o HAProxy.
Portanto, em resumo, os LBs de HW normalmente são melhores que os LBs de SW.
Espero que isto ajude!
Algumas reflexões:
Pro: a máquina na qual você executa o balanceador de carga pode ter um hardware muito mais poderoso, por isso seria mais rápido e imporia menos latência extra (embora, dependendo da velocidade dos seus links para o mundo externo, isso possa fazer pouca diferença).
Contras: um balanceador de carga de hardware provavelmente não terá mais poder computacional do que o necessário (pode ser executado em um chip baseado em Atom ou ARM, em vez de uma CPU Intel / AMD robusta de última geração, por exemplo), portanto, consumirá menos energia e gerará menos calor.
Pro: a instalação de seu próprio arranjo de balanceador de carga de software pode oferecer mais flexibilidade na configuração e atualizações / alterações posteriores, onde uma solução de hardware pode ser muito mais do que uma solução fechada de "caixa preta". Embora se você estiver comprando um serviço gerenciado para implementar o balanceador de software, isso fará pouca diferença.
Contras: se você não está gerenciando o balanceador de software (ou seja, a tarefa é terceirizada ou está comprando o serviço como parte de um acordo maior de hospedagem gerenciada), as taxas de administração para manter a configuração significam um hardware pronto para uso solução seria mais barata a longo prazo. Além disso, lembre-se de levar em consideração seu tempo em quaisquer custos, se você ou sua empresa gerenciarem o balanceador de carga.
105931 sessions per second
e cerca de 17% de uso da CPU - isso é bastante insano para um único processador Xeon básico
Eu levaria em conta esses pontos também:
Se a empresa possui um departamento de TI com um especialista em rede, um LB de hardware pode ajudar a reduzir a carga de manutenção da equipe de desenvolvimento.
Às vezes, especialmente para grandes empresas, adotando um novo hardware que ninguém sabe operar, implica contratar consultores caros ou até mesmo um novo funcionário.
A equipe de desenvolvimento odiará uma solução de hardware se estiver planejando enfatizar os recursos do balanceador de carga, como por exemplo, para adotar a implantação contínua.
Aparentemente, os HW LBs podem melhorar o tratamento das conexões SSL e, portanto, reduzir o número geral de servidores de aplicativos necessários: