Il costante aggiornamento tecnologico rappresenta, per le imprese moderne, una fonte di miglioramento continuo. Grazie alle nuove tecnologie, le aziende possono ottimizzare i processi di lavoro, raggiungendo ottimi risultati in base alla scelta delle infrastrutture più adatte allo scopo. 

Questo coinvolge qualsiasi frangente relativo al business, ma in particolar modo l’universo IT. Al giorno d’oggi uno degli obiettivi delle imprese è quello di potenziare la propria infrastruttura, con la finalità di migliorare i propri servizi, eccellere in produttività e rimanere sempre competitive rispetto alla concorrenza. 

È qui che entra il gioco il concetto di scalabilità: scalabile è un sistema in grado di aumentare le proprie performance, le funzionalità offerte e le risorse a disposizione, sulla base delle necessità dei fruitori. Questi sistemi versatili, agili e personalizzabili, forniscono una risposta concreta alle esigenze delle aziende.

Migliorare la velocità del server in cloud, supportare il carico di lavoro di ogni singola infrastruttura virtuale, massimizzare i risultati: obiettivi raggiungibili, se si sceglie l’investimento giusto. Valutiamo, quindi, il concetto di scalabilità orizzontale e scalabilità verticale per comprendere quale delle due opzioni prediligere in base alle specifiche esigenze.

Scalabilità: cos’è e tipologie

Esistono due tipologie di scalabilità, dal punto di vista strutturale, per quel che riguarda il cloud computing. La scalabilità verticale (scale up) e la scalabilità orizzontale (scale out). Entrambe le strategie mirano a migliorare le performance dei sistemi hardware, innovandoli e arricchendoli con nuove capacità. Entrambe le strategie lavorano per conferire maggiore capacità alla memoria, al processore e alle risorse hardware in generale. 

Simultaneamente, le due strategie possono essere impiegate anche per ridurre le risorse, soprattutto nei casi in cui il potenziamento venga richiesto solo per un periodo limitato di tempo. 

Cos’è la scalabilità orizzontale 

Andiamo a chiarire qual è il concetto di scalabilità orizzontale. Questa strategia sfrutta le capacità di più di una macchina dalle prestazioni inferiori. Collegando diverse macchine, infatti, è possibile generare un’unica infrastruttura maggiormente efficiente. Le configurazioni distribuite secondo il metodo della scalabilità orizzontale consentono di gestire un carico di lavoro maggiore, applicando i dati mediante l’utilizzo di differenti traiettorie di sistema

In sostanza, grazie allo scale out è possibile incrementare le performance dell’infrastruttura cloud in modo parallelo, aggiungendo nuovi nodi e affiancando al server madre un secondo server (o più di uno). Qualora l’esigenza sia quella di ridurre le risorse piuttosto che incrementarle, si potranno eliminare i server in eccesso per ottenere il risultato desiderato. 

Cos’è la scalabilità verticale

Al contrario, la scalabilità verticale (scale up) ottimizza le performance del sistema aumentandone la potenza “in altezza”, ovvero incrementando le risorse dei singoli nodi architetturali. I nodi possono essere potenziati mediante RAM, CPU, computer o storage. Questa strategia prevede l’acquisto e l’installazione di risorse hardware più efficienti, o di sistemi di controllo centrale più aggiornati. 

Nel momento in cui le richieste incominciano a superare i limiti del server, acquistando un server più potente, con una maggiore capacità di elaborazione o semplicemente una RAM più solida, si applica la strategia dello scale up

Per ottenere l’effetto contrario, ovvero per ridurre le risorse, occorrerà riportare la struttura computazionale al livello precedente rispetto all’aggiornamento eseguito.

Quali sono le differenze

La differenza sostanziale tra i due approcci è il metodo di crescita e potenziamento dell’hardware. La scalabilità verticale ottimizza la potenza del singolo nodo di sistema, mentre la scalabilità orizzontale aggiunge nuove risorse piuttosto che migliorare le performance di quelle già esistenti. 

La scalabilità verticale, chiamata anche ridimensionamento, mira a ottimizzare le capacità delle risorse a disposizione, aggiungendo memoria o CPU mediante l’installazione di stazioni di rete o computer. In questo modo, ci saranno maggiori risorse condivise dal sistema operativo. 

La scalabilità orizzontale, invece, potenzia l’impianto aggiungendo un nuovo controller o un nuovo hardware, in modo da aumentare la capacità delle risorse a disposizione. 

Quale soluzione scegliere 

I due diversi approcci possono offrire vantaggi e svantaggi, sia in termini di budget che di gestione delle risorse e di qualità dei dati. Non c’è una risposta unica alla domanda relativa a quale soluzione scegliere tra scalabilità verticale e scalabilità orizzontale. L’unica risposta corretta è che, per scegliere, occorre valutare il tipo di progetto, le sue ambizioni e caratteristiche. 

È possibile individuare sommariamente gli scenari per i quali è preferibile propendere per lo scale out o lo scale up

  • scale up, o vertical scaling. Questa tecnica di upgrade è più indicata in presenza di time to go limitato;
  • scale out, o horizontal scaling. Una tecnica consigliata per le architetture ad alto traffico, per le quali lo scale up non può rappresentare una risposta adeguata. 

Vantaggi e svantaggi dei due approcci 

Valutiamo i vantaggi dei due approcci per avere un quadro più chiaro ed effettuare una scelta più consapevole. 

La scalabilità verticale garantisce:

  • semplicità, essendo una tecnica di upgrade piuttosto intuitiva e agile;
  • velocità, in quanto consente di ottenere più risorse in un tempo limitato;
  • convenienza, poiché non è necessario eseguire interventi specifici sull’applicativo per usufruire dei vantaggi. La scalabilità verticale, infatti, permette di raddoppiare il numero di richieste da gestire attraverso il portale, senza la necessità di configurare cluster complessi

In alcuni casi, è impossibile propendere per la scalabilità verticale a causa di vincoli strutturali che rendono la scelta di tale metodo sconveniente o rischiosa. 

La scalabilità orizzontale, invece, prevede un aggiornamento completo dell’infrastruttura. Ad essa vengono affiancati nuovi server. I vantaggi dello scaling out:

  • possibilità pressocché infinita di aggiungere nuovi server;
  • possibilità di prevedere, per i singoli server, una crescita anche per periodi di breve durata

La scalabilità orizzontale necessita, però, di tempistiche di preparazione e configurazione più lunghe, in quanto occorre aggiornare le risorse e modificare l’architettura in cloud esistente. È indispensabile prevedere un fermo servizi, utile per la preparazione e l’integrazione delle nuove metodologie. Questa strategia, considerata quindi un investimento a lungo termine, richiede una riconfigurazione di determinati servizi soprattutto quando si passa da un’architettura single-server a una multi-server. Questo scenario, infatti, prevede il manifestarsi di alcune condizioni che prima non esistevano. 

Negli ultimi anni, infine, lo scaling out è molto popolare in quanto rientra in una strategia massiva che coinvolge i big data

Simona
Federica è un'esperta di sicurezza informatica specializzata in cybersecurity, infrastrutture IT e cloud computing. Con una vasta esperienza nel settore, si impegna a proteggere le organizzazioni dagli attacchi informatici e a garantire la sicurezza dei dati sensibili. Oltre alla sua carriera nella sicurezza informatica, Federica dedica il suo tempo libero allo sport, alimentando la sua energia e determinazione.