Equilibradores de carga de hardware frente a software: ¿solo un problema de costos?

26

Si el costo no fuera un problema, ¿habría algún beneficio en la implementación de un equilibrador de carga de software para el tráfico web en comparación con uno de hardware?

timmy
fuente

Respuestas:

33

La distinción entre equilibradores de carga "hardware" y "software" ya no tiene sentido. Un denominado equilibrador de carga de "hardware" es una CPU de clase PC, interfaces de red con capacidades de procesamiento de paquetes y algún software para unirlo todo. Un "equilibrador de carga de" software "realizado en un buen servidor con NIC modernas es ... lo mismo.

Lo que obtienes con ofertas comerciales de alta gama como F5 o Citrix Netscaler es:

  • Un conjunto de características rico y profundo. Su solución es madura y puede manejar rápidamente todas las necesidades comunes y algunas poco comunes también.
  • Excelentes estadísticas Los tipos de administración aman las estadísticas, y los técnicos de red se dan cuenta de que las estadísticas también pueden ser útiles para la resolución de problemas.
  • Un único proveedor que se atraganta cuando algo no funciona, es decir, el contrato de soporte directamente con el proveedor de la solución.
  • Menores costos salariales. El dispositivo en su mayoría simplemente funciona, y administrar uno no lleva tantas horas.

Con los equilibradores de carga de software (de código abierto), no obtienes lo contrario, lo que obtienes depende del software que elijas y cómo lo hagas. Dicho esto, normalmente verás:

  • Mayor tiempo para configurar la solución inicial. Especialmente si necesita algo más que el equilibrio de carga, el almacenamiento en caché de fx + la reescritura de contenido + HA, la configuración del software de código abierto requiere más horas de trabajo.
  • Lo construyes, lo posees. Si su empresa configura equilibradores de carga de software de código abierto con técnicos internos, entonces usted es 100% responsable de la solución usted mismo. La documentación, la ruta de actualización, la recuperación ante desastres, etc., deberán ser consideradas y tal vez implementadas por usted .

La diferenciación no está realmente en "hardware" versus "software". Está en "comprar una pila de tecnología probada como un dispositivo" versus "construirlo usted mismo". Por supuesto, hay muchas variables a considerar al tomar la decisión final (costos, conjuntos de habilidades internas, tolerancia al tiempo de inactividad, crecimiento futuro, etc.).

Jesper M
fuente
2
Buenos puntos, pero ciertamente hay balanceadores de carga basados ​​en ASIC (F5 / ACE / ...?) Que manejan 'mucho' en los procesadores distribuidos, no en la CPU. También impugno la pregunta de horas de trabajo, especialmente si el costo de las horas de expertos para hacer la configuración.
Joris
Mencionó brevemente esto, pero creo que debe enfatizarse que con un equilibrador de carga HW, generalmente obtiene un contrato de soporte que puede utilizar cada vez que algo sale mal. A veces esto se convierte en el factor decisivo para un negocio en qué dirección ir.
vmfarms
@Joris, @vmfarms Buenos puntos, estoy de acuerdo. Obtener todos los puntos más precisos requeriría escribir una pequeña novela. :-)
Jesper M
Buena respuesta, sin embargo, Barracuda Networks, Loadbalancer.org y Kemp Technologies están vendiendo miles de hardware / software / dispositivos virtuales a sitios muy grandes. Raramente necesita algo más que la pila de código abierto Linux / LVS compatible que proporcionan ... No me malinterprete, las pilas Citrix y F5 son mucho mejores, pero para el 95% de las aplicaciones es irrelevante. Escribí un blog sobre cómo comparar equilibradores de carga aquí: loadbalancer.org/blog/…
Malcolm turnbull
2

Los equilibradores de carga de hardware generalmente tienen un conjunto más rico de características, especialmente cuando se llega a los grandes como F5. También tiene el beneficio adicional de una mayor escalabilidad debido a la descarga de hardware.

Por otro lado, si sabe que su tráfico no será demasiado alto, los equilibradores de carga de software realmente funcionan bastante bien. Si puede hacerlo con tener una capa 4 LB, Linux LVS + Keepalived es una muy buena opción. Si necesita la potencia de un Layer 7 LB, puede probar HAProxy.

En resumen, los HW LB suelen escalar mejor que los SW LB.

¡Espero que esto ayude!

vmfarms
fuente
"HW LBs ... escala mejor que SW LBs" no es del todo exacto. Los HW LB ofrecen, con mucho, el mejor rendimiento de un solo chasis . Pero un buen diseño de LB de software se escalaría horizontalmente y, por lo tanto, escalaría igual de bien (y probablemente sería más barato que un LB de hierro grande).
Jesper M
2

Algunas reflexiones:

Pro: la máquina en la que ejecuta el equilibrador de carga podría tener un hardware mucho más potente, por lo que sería más rápido e impondría menos latencia adicional (aunque, dependiendo de la velocidad de sus enlaces al mundo exterior, esto puede hacer poca diferencia).

Contras: un equilibrador de carga de hardware probablemente no tendrá más potencia informática de la que necesita (puede ejecutarse en un chip Atom o basado en ARM en lugar de una CPU Intel / AMD de gama alta, por ejemplo), por lo que consumirá menos energía y generará menos calor

Pro: instalar su propio arreglo de equilibrador de carga de software puede darle más flexibilidad en la configuración y actualizaciones / cambios posteriores, donde una solución de hardware puede ser mucho más que una solución cerrada de "caja negra". Sin embargo, si está comprando un servicio administrado para implementar el equilibrador de software, esto hará poca diferencia.

Contras: si no está administrando el equilibrador de software (es decir, la tarea se subcontrata o está comprando el servicio como parte de un acuerdo de alojamiento administrado más grande), puede encontrar que las tarifas administrativas para mantener la configuración significan un hardware estándar La solución sería más barata a largo plazo. Además, recuerde tener en cuenta en su tiempo los costos si usted o su empresa administrarán el equilibrador de carga.

David Spillett
fuente
"la máquina en la que ejecuta el equilibrador de carga podría tener un hardware mucho más potente, por lo que sería más rápido e impondría menos latencia adicional", ¿de verdad? Lo he visto dicho que un ServerIron podía manejar conexiones simultáneas 15m mientras haproxy puede manejar 10s de miles
Timmy
@Timmy: leí un estudio de caso en el sitio web de haproxy (desafortunadamente, su sitio web está fuera de línea) donde saturaron un enlace de 10 Gbps a un cuadro HAProxy y se amplió muy bien, y estoy bastante seguro de que serían más de 10k solicitudes simultáneas .
Mark Henderson
1
Lo encontré - webcache.googleusercontent.com/… (gracias Google Cache) - línea clave 105931 sessions per secondy aproximadamente 17% de uso de CPU - eso es bastante loco para un único procesador Xeon básico
Mark Henderson
@Farseeker: gracias, no me di cuenta de que podían administrar tantas sesiones.
timmy
2

También tendría en cuenta estos puntos:

Si la empresa tiene un departamento de TI con un especialista en redes, un Hardware LB podría ayudar a reducir la carga de mantenimiento del equipo de desarrollo.

A veces, especialmente para las grandes empresas, la adopción de un nuevo hardware que nadie sabe cómo operar implica la contratación de consultores costosos o incluso un nuevo empleo.

El equipo de desarrollo odiará una solución de hardware si planea enfatizar las características del equilibrador de carga, como por ejemplo, adoptar una implementación continua.

Franklin Dattein
fuente
0

Aparentemente, HW LBs puede mejorar el manejo de las conexiones SSL y, por lo tanto, reducir el número total de servidores de aplicaciones necesarios:

http://highscalability.com/blog/2010/8/12/strategy-terminate-ssl-connections-in-hardware-and-reduce-se.html


fuente
2
El hardware de descarga SSL también está disponible directamente para servidores web y es compatible con la omnipresente biblioteca OpenSSL en Linux; Esta ventaja no es exclusiva de los equilibradores de carga de hardware.
Charles Duffy