E’ un concetto che ha un senso ben preciso quello della scalabilità del cloud computing, infatti fa riferimento alla capacità di aumentare o di ridurre le proprie prestazioni, le risorse e le funzionalità in base a necessità o a specifiche richieste. Si tratta, di sistemi particolarmente flessibili, personalizzabili e adattabili alle esigenze delle aziende.

Un’elevata scalabilità si traduce in un’ottimizzazione dell’efficienza complessiva del sistema e in risparmi significativi in termini di costi e di risorse.

In particolar modo, il concetto di scalabilità viene utilizzato nell’ambito della programmazione software, delle telecomunicazioni e dell’informatica.

Ed è possibile individuarne tre tipologie:

  • la scalabilità di carico, che fa riferimento all’incremento o viceversa delle proprie funzioni in base alla capacità di calcolo che gli viene assegnata;
  • la scalabilità geografica, il sistema mantiene le proprie funzioni e caratteristiche indipendentemente dalla distanza che lo separa dagli utilizzatori;
  • la scalabilità amministrativa, in cui la gestione del sistema resta inalterata nonostante il numero di organizzazioni che lo utilizzano.

La scalabilità è anche tra le caratteristiche del cloud computing, inteso come paradigma di soluzioni e di servizi offerti da un fornitore a un cliente attraverso la rete Internet, a partire da un insieme di risorse disponibili in remoto sotto forma di architettura distribuita.

Grazie alla scalabilità, il cloud ha registrato – e ancora continua a registrare – una crescita importante sul mercato.

Scalabilità orizzontale e verticale

Riferito ai servizi di cloud computing, il concetto di scalabilità, ha a che vedere con la possibilità di aumentare le risorse virtuali a disposizione in qualsiasi momento, per poter gestire in maniera efficiente e puntuale il flusso di traffico.

Ad esempio, grazie al concetto di scalabilità, un’azienda che acquista un servizio in cloud è nelle condizioni di poter scalare le risorse in base alle proprie esigenze, sia che si tratti di una crescita del carico di lavoro, sia che, al contrario, si tratti di un calo.

La scalabilità del cloud computing è dinamica e consente – grazie agli evoluti sistemi adottati dai cloud provider – di aumentare o diminuire le risorse in base alla domanda rappresentata dal carico di lavoro di un servizio in un determinato momento.

Ma il vero valore aggiunto del cloud computing si ha quando, la scalabilità, viene affiancata all’elasticità, caratteristica che consente di diminuire automaticamente – oppure manualmente – la potenza e le risorse in gioco. Come è possibile tutto questo? Attraverso i pannelli di controllo forniti dai cloud provider, che consentono la configurazione del processo di aumento del numero di risorse o la loro diminuzione.

Dunque grazie all’elasticità, è possibile usufruire del concetto di “pay-per-use”, ovvero della disponibilità di risorse in cloud attraverso il pagamento del solo utilizzo effettivo. A tale proposito, le migliori offerte dei maggiori cloud provider consentono di pagare per l’utilizzo “al secondo” oppure “a chiamata”, senza alcun anticipo e senza costi di ingresso. Osserviamo nello specifico le due tipologie di scalabilità del cloud computing.

Scalabilità orizzontale

Detta anche “horizontal scaling”, questa scalabilità comporta una modifica dell’infrastruttura per via dell’aggiunta di nuove macchine, che permettono in questo modo, di alleggerire i nodi esistenti andandone a distribuire il carico su un numero più elevato. Per ognuna di queste macchine aggiunte, che vanno a completare l’infrastruttura a disposizione, è possibile poi effettuare lo scaling delle risorse.

Scalabilità verticale

La “vertical scaling” si ha, invece, quando si vanno ad aggiungere, o a togliere, delle risorse hardware come, ad esempio, l’unità centrale di elaborazione, la memoria RAM, la banda o lo spazio sul disco. La scalabilità verticale è presa in considerazione da quelle aziende che, in determinati periodi, necessitano di un maggiore – o minore – quantitativo di risorse a disposizione. Così facendo, Scalando le risorse in verticale, è più semplice usufruire del giusto quantitativo di risorse per gestire il traffico Web in un determinato periodo. C’è, però, da tener conto che la scalabilità verticale è un processo molto più rapido rispetto alla scalabilità orizzontale, che richiede sempre competenze specifiche.

Esistono, poi, servizi che forniscono tutto l’occorrente a quei siti Web e a quelle applicazioni che necessitano di quantitativi differenti di risorse in determinati periodi. È il caso, ad esempio, dei siti che hanno picchi di traffico nel corso di alcune stagioni e che, quindi, necessitano, limitatamente a quell’arco di tempo, di usufruire di maggiore potenza e capacità.

Troviamo poi, le soluzioni di Autoscaling e di Load Balancing che riguardano, nel primo caso, la possibilità di scalare le risorse sia in verticale che in orizzontale, in modo da poter contare su un certo quantitativo di risorse in specifici periodi dell’anno per far fronte ad eventuali picchi di traffico, pagando soltanto le risorse effettivamente utilizzate. Il Load Balancing, invece, ottimizza le risorse utilizzate, evitando così il sovraccarico e massimizzando la potenza di calcolo.

Quali sono i vantaggi di un sistema scalabile?

In generale, i vantaggi di cui è possibile usufruire ricorrendo al cloud computing scalabile sono molti. I più importanti vedono al centro il cliente e la possibilità, per lui, di richiedere al fornitore un servizio completamente tarato sulle proprie esigenze oppure di incrementarlo o ridurlo successivamente, sempre in base a proprie esigenze e disponibilità.

Un ulteriore vantaggio è dato dal fatto che le risorse a disposizione possono diminuire automaticamente in caso di malfunzionamento, ma nonostante ciò, sono in grado di garantire

un livello minimo di servizio anche nel caso in cui insorgano problemi. Dunque i principali vantaggi sono: l’efficienza e il risparmio, il cliente paga solo per il servizio a lui necessario e che meglio risponde alle sue richieste.

Lasciando il generale per entrare nello specifico, la scalabilità verticale ha il vantaggio di offrire più risorse a disposizione in tempi molto brevi e senza ricorrere a interventi specifici sul proprio applicativo.

Una scelta diversa è, invece, la scalabilità orizzontale, che ha il vantaggio di aggiornare costantemente l’infrastruttura con l’affiancamento di nuovi server a scalabilità quasi infinita, non precludendo comunque la possibilità, sui singoli server, di scalabilità verticale anche per brevi periodi.

Perciò la scalabilità, sia orizzontale che verticale, è una caratteristica peculiare di tutti i servizi che fanno parte dell’offerta di cloud computing, di cui i principali – lo ricordiamo – sono:

  • Infrastructure as a Service (IasS), vale a dire infrastruttura hardware come server, backup, sistemi di memoria;
  • Platform as a Service (PaaS), piattaforma software utilizzata nello sviluppo di programmi e applicazioni;
  • Software as a Service (SaaS), programmi installati su un server remoto spesso utilizzati tramite un server Web;
  • Data as a Service (DaaS), ovvero la condivisione, via web, di dati ai quali si accede inserendo apposite credenziali in una piattaforma.

Desideri approfondire gli argomenti contenuti in questo articolo? Contattaci per parlare con i nostri esperti.