Che cos'è il bilanciamento del carico software?
Il bilanciamento del carico software è il modo in cui gli amministratori instradano il traffico di rete verso diversi server. I sistemi di bilanciamento del carico valutano le richieste dei client esaminando le caratteristiche a livello di applicazione (indirizzo IP, intestazione HTTP e contenuto della richiesta). L'unità di bilanciamento del carico esamina quindi i server e stabilisce a quale server inviare la richiesta.

Panoramica sul moderno bilanciamento del carico

Scheda tecnica di VMware NSX Advanced Load Balancer (by Avi Networks)
Come si differenzia dal bilanciamento del carico hardware?
Il bilanciamento del carico software in genere viene offerto come funzione del controller di distribuzione delle applicazioni (ADC) eseguita su una macchina virtuale o su un server standard. Un dispositivo di bilanciamento del carico hardware (HLD) è un componente hardware autonomo che esegue il software di bilanciamento del carico. Viene tradizionalmente distribuito come parte di una coppia, in caso di guasto di un dispositivo di bilanciamento del carico. Il bilanciamento del carico software offre le stesse funzionalità di un HLD, ma non richiede un dispositivo di bilanciamento del carico dedicato. Il software di bilanciamento del carico può essere eseguito su un server normale o anche su un server virtuale.
Come funziona il bilanciamento del carico software?
Il bilanciamento del carico software funziona allo stesso modo del bilanciamento del carico hardware, distribuendo il traffico tra un pool di server in base all'algoritmo scelto.
La distribuzione dei carichi di lavoro su più server tramite il bilanciamento del carico può rendere una rete più efficiente e affidabile. Il bilanciamento del carico aumenta la capacità di una rete poiché utilizza i server disponibili in modo più efficiente. Di conseguenza, il bilanciamento del carico velocizza l'esecuzione della rete poiché i carichi di lavoro non rimangono bloccati su un server sovraccarico mentre gli altri server rimangono inutilizzati. Il bilanciamento del carico assicura inoltre continuità operativa in caso di guasto di un server, indirizzando il traffico dal server guasto ai server funzionanti.
Quali sono i tipi di bilanciamento del carico?
Le unità di bilanciamento del carico basate su software possono essere installate direttamente su un server oppure acquistate come bilanciamento del carico as-a-Service (LBaaS). Con LBaaS, il service provider è responsabile dell'installazione, della configurazione e della gestione del software di bilanciamento del carico. L'unità di bilanciamento del carico basata sul software può trovarsi on-premise o off-premise.
Come i server, le appliance di bilanciamento del carico possono essere fisiche o virtuali. Le appliance fisiche (bilanciamento del carico hardware) e quelle virtuali (bilanciamento del carico software) valutano le richieste dei client e l'utilizzo del server in tempo reale e inviano le richieste a server diversi in base a una varietà di algoritmi. La destinazione del traffico dipende dalla policy di bilanciamento del carico impostata dall'amministratore.
Metodi di bilanciamento del carico
Le unità di bilanciamento del carico utilizzano uno dei seguenti metodi per determinare dove inviare il traffico di rete:
- Algoritmo Round Robin: l'algoritmo Round Robin è il metodo più semplice per il bilanciamento del carico. Sposta semplicemente le richieste attraverso un elenco di server disponibili nello stesso ordine.
- Algoritmo delle connessioni minime: il metodo delle connessioni minime è un po' più sofisticato. Invia le richieste ai server meno occupati o ai server che elaborano il minor numero di carichi di lavoro in un dato momento.
- Algoritmo del minor tempo: l'algoritmo del minor tempo fa un ulteriore passo avanti e sceglie i server in base alla massima velocità di elaborazione e al minor numero di richieste attive. Questo approccio può integrare algoritmi di bilanciamento del carico ponderato che danno sempre la preferenza ai server con capacità, elaborazione o memoria superiori.
- Algoritmo basato su hash: nell'algoritmo basato su hash, infine, l'appliance di bilanciamento del carico assegna una chiave hash univoca all'indirizzo IP di origine e di destinazione del client e del server. Ciò garantisce che se lo stesso utente torna ed effettua un'altra richiesta, quest'ultima verrà indirizzata allo stesso server che l'utente stava utilizzando in precedenza. Inoltre, il server conserva tutti i dati immessi durante le sessioni precedenti.
Perché si utilizza il bilanciamento del carico software?
Il bilanciamento del carico software sta guadagnando popolarità perché offre diversi vantaggi rispetto al bilanciamento del carico hardware:
- Scalabilità: Il più grande vantaggio delle unità di bilanciamento del carico software rispetto ai dispositivi di bilanciamento del carico hardware è la loro scalabilità. I sistemi di bilanciamento del carico software possono aggiungere o eliminare server virtuali in base alla domanda, rispondendo automaticamente e in tempo reale alle fluttuazioni del traffico di rete.
- Flessibilità: le unità di bilanciamento del carico software sono inoltre più flessibili delle unità di bilanciamento del carico hardware perché sono compatibili con una varietà di ambienti. Possono essere programmate per funzionare con sistemi operativi desktop standard, ambienti cloud, bare-metal, server virtuali e container. I sistemi di bilanciamento del carico hardware non sono altrettanto flessibili poiché non sono programmabili.
- Costo: le organizzazioni possono risparmiare denaro con i sistemi di bilanciamento del carico software, soprattutto se utilizzano LBaaS. Anche se un'organizzazione IT acquista le proprie unità di bilanciamento del carico software, il costo è in genere considerato OpEx anziché CapEx, dove le unità di bilanciamento del carico hardware verrebbero classificate.
- Facilità di deployment: i sistemi di bilanciamento del carico hardware possono essere difficili e costosi da installare, mentre i sistemi di bilanciamento del carico software sono facili da distribuire on demand, con un risparmio di tempo e denaro.
- Sicurezza: infine, il software di bilanciamento del carico che si trova tra il client e il server offre un ulteriore layer di sicurezza grazie alla possibilità di rifiutare i pacchetti sospetti prima che raggiungano il server.
Nonostante il bilanciamento del carico software sembri offrire alcuni chiari vantaggi rispetto a quello hardware, un'organizzazione IT deve valutare i pro e i contro delle diverse opzioni (software, hardware, ma anche as-a-Service) in rapporto alle esigenze specifiche dell'azienda. Le organizzazioni che valutano un bilanciamento del carico software rispetto a un bilanciamento del carico hardware devono inoltre soppesare i vantaggi di ciascuno nel contesto della gestione del budget. Qualsiasi tipo di bilanciamento del carico, se configurato e gestito correttamente, può rendere una rete più efficiente e affidabile.
Soluzioni e prodotti correlati
Soluzioni per il bilanciamento del carico multi-cloud
Sicurezza e capacità di risposta con un approccio semplice e moderno al bilanciamento del carico.
NSX Advanced Load Balancer
Piattaforma di bilanciamento del carico multi-cloud
NSX Data Center
Piattaforma di virtualizzazione di Network e Security