Risposte:
La distinzione tra bilanciatori di carico "hardware" e "software" non è più significativa. Un cosiddetto sistema di bilanciamento del carico "hardware" è una CPU di classe PC, interfacce di rete con funzionalità di elaborazione dei pacchetti e alcuni software per legare tutto insieme. Un bilanciamento del carico "software" realizzato su un buon server con schede NIC moderne è ... lo stesso.
Quello che ottieni con le offerte commerciali di fascia alta come F5 o Citrix Netscaler è:
Con i bilanciatori del carico del software (open source) non si ottiene il contrario, ciò che si ottiene dipende dal software scelto e da come procedere. Detto questo, in genere vedrai:
La differenziazione non è in realtà "hardware" rispetto a "software". Si tratta di "acquistare uno stack tecnologico collaudato come apparecchio" anziché "costruirlo da soli". Ci sono ovviamente molte variabili da considerare quando si prende la decisione finale (costi, serie di competenze interne, tolleranza per i tempi di fermo, crescita futura ecc.).
I sistemi di bilanciamento del carico hardware dispongono in genere di un set più ricco di funzionalità, soprattutto quando si arriva a quelli grandi come F5. Hai anche l'ulteriore vantaggio di una maggiore scalabilità a causa del offload dell'hardware.
D'altra parte, se sai che il tuo traffico non sarà troppo elevato, i bilanciatori del carico software funzionano davvero abbastanza bene. Se riesci a guadagnare con un Layer 4 LB, Linux LVS + Keepalived è un'ottima opzione. Se hai bisogno della potenza di un Layer 7 LB, puoi provare HAProxy.
Quindi, in sintesi, gli LB HW in genere si adattano meglio degli LB SW.
Spero che sia di aiuto!
Alcuni pensieri:
Pro: la macchina su cui esegui il bilanciamento del carico potrebbe avere hardware molto più potente, quindi sarebbe più veloce e importerebbe una latenza aggiuntiva (anche se a seconda della velocità dei tuoi collegamenti con il mondo esterno ciò potrebbe fare poca differenza).
Contro: un bilanciamento del carico hardware probabilmente non avrà più potenza di elaborazione di quella di cui ha bisogno (potrebbe funzionare su un chip Atom o basato su ARM piuttosto che su una CPU Intel / AMD di fascia alta ad esempio) quindi consumerà meno energia e genererà meno calore.
Pro: l' installazione del proprio sistema di bilanciamento del carico del software può offrire maggiore flessibilità nella configurazione e successivi aggiornamenti / modifiche, in cui una soluzione hardware potrebbe essere molto più di una soluzione "scatola nera" chiusa. Tuttavia, se stai acquistando un servizio gestito per implementare il bilanciamento del software, questo farà poca differenza.
Contro: se non si sta gestendo il bilanciamento del software (ovvero l'attività è esternalizzata o si sta acquistando il servizio come parte di un accordo di hosting gestito più ampio), è possibile che le tariffe di amministrazione per il mantenimento dell'installazione significhino un hardware standardizzato la soluzione sarebbe più economica a lungo termine. Inoltre, ricorda di tenere conto nel tuo tempo di eventuali costi se tu o la tua azienda gestirete il bilanciamento del carico.
105931 sessions per second
e circa il 17% di utilizzo della CPU - è piuttosto folle per un singolo processore Xeon di base
Prenderei in considerazione anche questi punti:
Se la società ha un reparto IT con uno specialista della rete, un LB hardware potrebbe aiutare a ridurre il carico di manutenzione del team di sviluppo.
A volte, specialmente per le grandi aziende, l'adozione di un nuovo hardware che nessuno sa come operare, implica l'assunzione di consulenti costosi o persino un nuovo impiego.
Il team di sviluppo odierà una soluzione hardware se sta pianificando di sottolineare le funzionalità del bilanciamento del carico, come ad esempio adottare una distribuzione continua.
Apparentemente gli LB HW possono migliorare la gestione delle connessioni SSL e quindi ridurre il numero complessivo di server delle app richiesti: