Cloud server

Load balancing

Load balancing

Load balancing: un aspetto importante tra i servizi di cloud computing.

La tecnologia informatica del load balancing consente di ottimizzare il bilanciamento del carico di un’ applicazione, servizio o sito web su più server.

Nell’ambito del cloud computing si tratta di un aspetto molto importante, che contribuisce a migliorare le prestazioni e l’affidabilità di una piattaforma di servizi cloud.

La redistribuzione del carico porta ad un'ottimizzazione delle performance delle proprie applicazioni e ad una razionalizzazione dell’utilizzo delle risorse hardware.

Il load balancing permette infatti di gestire improvvisi aumenti di carico di lavoro o guasti hardware di uno degli host, azzerando il rischio di episodi di downtime.

Esso comprende inoltre dei sistemi di monitoraggio che evitano il direzionamento dei flussi verso server non raggiungibili o sovraccarichi.

Esistono varie ‘tecniche’ di load balancing. Alcune sono molto semplici, altre invece richiedono l’utilizzo di software dedicati (load balancer) in grado di effettuare il monitoraggio del bilanciamento e gestire eventuali situazioni di criticità.

Tra i metodi più utilizzati ricordiamo:

Round Robin

Si tratta del sistema più semplice. Le richieste di connessione vengono distribuite sui server ‘a rotazione’. La modalità Round Robin può lavorare bene con la maggior parte delle configurazioni, specialmente se le risorse hardware hanno all’incirca la stessa velocità e lo stesso carico di memoria. Non offre servizio di monitoring.

Random

I carichi vengono distribuiti in maniera casuale.

Weighted Random

I carichi di lavoro vengono distribuiti in maniera simile al Random ma viene tenuto conto del ‘peso’ del server: il numero delle connessioni che ogni server riceve è proporzionale alla sua capacità.

Ad oggi, molte delle principali piattaforme di cloud computing prevedono un servizio di load balancing:

  • Amazon ha creato per EC2 la feature Elastic Load Balancing che consente di distribuire i vari carichi su diverse istanze.
  • vSphere di VMware effettua il load balancing grazie al DRS (Distributed Resource Scheduler).
  • Open Nebula, Open Stack e molti altri sistemi di cloud computing offrono servizi di load balancing all’interno dei loro pacchetti.