Diventa Autore per CoreTech | Scopri di più
26/07/21 Debora Visconti Blog
La manna non scende dal cielo. Ma dalla nuvola sì. Sono i vantaggi del cloud computing che ci hanno abituato ad avere risorse a disposizione in qualunque momento e ovunque ci troviamo: un piccolo grande portento per il lavoro. Spesso sentiamo parlare di scalabilità e flessibilità del cloud: ma di che cosa si tratta esattamente?
Mettiamo a confronto due aspetti importanti della nuvola tecnologica in un ring immaginario e amichevole. Dunque, nell’articolo inizia e si svolge il match cloud scalability vs elasticity.
CHIAMA CORETECH PER SAPERNE DI PIÙ
L’informatica è un universo ampissimo che fa a gara con quello astronomico ed è trasversale a pressoché qualunque attività. È una sorta di tessuto connettivo che tiene insieme ogni operazione in ambito aziendale, e non solo. Dunque, per chiarire una nozione importante del pianeta del cloud computing, occorre chiarire che cosa si intende per Scalability. O meglio, che cos’è la scalabilità in informatica? Nel momento in cui viene spiegata la nozione di scalabilità in informatica, è facile afferrare come si adatti anche al modello definito dal cloud computing. Se dovessimo riferire questa idea al mondo vivente, potremmo parlare di una sorta di capacità di adattamento. Ma cerchiamo di capire meglio.
In informatica, con la parola “scalabilità” si fa riferimento al fatto che hardware e software possano essere modificati con facilità per far fronte a una variazione del carico di lavoro. Con “carico di lavoro” si intende la mole di dati trattati o il tipo di informazioni che devono essere gestite attraverso un sistema informatico. Per esempio, è possibile sentir parlare di scalabilità del software tal dei tali oppure domandarsi quando una rete è scalabile. Vediamo come è concretizzata la scalabilità in questi due casi.
Un software scalabile si adatta a sostenere carichi di lavoro diversi senza che sia necessario intervenire con una sua riprogettazione. Esistono molte applicazioni significative per mettere in evidenza questo aspetto. Esempi di scalabilità del software sono le modalità di funzionamento dei sistemi di online transaction processing, cioè le tecnologie software impiegate per i pagamenti. Permettono di gestire un carico crescente di transazioni con l’aggiunta di processori, memoria e dispositivi. Altri degni rappresentanti della scalabilità sono i programmi per creare e gestire database, i cosiddetti DBMS (Database Management System).
C’è rete e rete. Ci sono quelle per i pesci e quelle per i dati. Nel secondo caso di parla di reti informatiche, dall’aroma metallico e non acquatico. Una rete è costituita da un insieme di apparecchi e programmi collegati tra loro attraverso protocolli per lo scambio di informazioni. Come il filato di nylon in una rete da pesca crea intersezioni, così nella rete informatica ci sono nodi da cui dipartono input e output: si tratta di hardware come computer e server che instradano i dati nella rete. Un protocollo di routing viene considerato scalabile se la dimensione della tabella di routing corrispondente a ogni nodo cresce asintoticamente su scala logaritmica.
Ma torniamo sotto le nuvole. Anzi, sotto la nuvola. Affacciamoci ancora una volta sul vivido panorama del cloud computing, perché è lui ad aver ispirato la scalpitante scalata alla scalabilità. Stavolta però facciamolo ricordando un’altra caratteristica importante del cloud: la flessibilità. Dunque, cerchiamo di chiarire che cosa sia la scalability nel cloud computing e come si contrapponga, o abbia a che fare, con la flessibilità. Di certo, non dobbiamo dimenticare che l’una e l’altra sono caratteristiche positive e vantaggiose del cloud. L’una e l’altra lo rendono quella splendida risorsa che ci permette di
Scalabilità e flessibilità sono caratteristiche intrinseche e correlate tra loro della nuvola tecnologica. Il funzionamento della nuvola manifesta proprio queste due facce che la rendono vantaggiosa e indispensabile. Prima di approfondire le relazioni tra i due aspetti, è importante capire che cosa si intende per flessibilità del cloud. Quando viene citata la flessibilità del cloud, il nocciolo della questione è il fatto che il sistema sia in grado di utilizzare le risorse disponibili in modo diverso a seconda del carico di lavoro. Alla base della flessibilità del cloud c’è una riallocazione delle risorse. Si tratta di una caratteristica fondamentale di una server cloud perché permette di far fronte con successo ai picchi di attività.
La flessibilità del cloud “salva la vita” quando ci troviamo a sostenere l’impatto di un picco di richieste. Il traffico sul nostro sito aumenta improvvisamente. Il servizio che offriamo online diventa tutt’a un tratto il desiderio di moltissime persone. Questo può succedere se stiamo facendo una campagna promozionale, c’è un evento particolare, stiamo facendo dei buoni sconti. Si tratta di situazioni frequenti per siti e-commerce e siti di streaming. È disponibile un nuovo prodotto tanto atteso oppure esce una nuova serie tv: la curiosità moltiplicherà i click per pagare l’oggetto o il video dei desideri.
La flessibilità del cloud è in buoni rapporti con il controllo dei costi. Infatti, è proprio la caratteristica del cloud server che lo rende utilissimo a ridurre le spese. Grazie a un server cloud flessibile, l’uso delle risorse è proporzionale all’effettivo numero di richieste. Il sistema è capace di allocare le risorse in modo che tutto sia perfettamente ottimizzato. Ne beneficia il portafoglio.
La scalabilità del cloud è una caratteristica specifica della sua tecnologia. Riguarda l’architettura in cui sono organizzati tutti gli elementi che costituiscono il cloud. Una soluzione scalabile come un server cloud può essere facilmente ridimensionata per adattarsi a carichi di lavoro crescenti grazie all’aggiunta di risorse nuove. Così si manifesta la scalabilità del sistema informatico. Ci sono tre modi in cui una soluzione può essere scalabile: orizzontale, verticale, diagonale.
La scalabilità di un sistema informatico è orizzontale se il sistema permette di implementare nuovi elementi per far fronte ad attività sempre più impegnative. Le soluzioni scalabili di tipo orizzontale sono uno strumento ottimo per affrontare tutte le possibili trasformazioni del futuro.
Si parla di scalabilità verticale quando vengono aggiunte risorse all’infrastruttura esistente. Una scelta del genere consente di rispondere a un’istanza attuale, ma rappresenta una soluzione a breve termine.
Una soluzione scalabile in senso diagonale rappresenta l’unione delle forme di scalabilità orizzontale e verticale. Permette di aggiungere e togliere risorse per soddisfare le esigenze contingenti.
Qual è la differenza tra scalabilità e flessibilità della nuvola tecnologica? Dal match cloud scalability vs elasticity quali considerazioni emergono? La prima considerazione da evidenziare è che entrambe le caratteristiche sono fondamentali per fornire un servizio soddisfacente. Ma mentre la flessibilità riguarda il modo in cui vengono utilizzate risorse disponibili, la scalabilità ha a che fare con la struttura stessa del cloud. La scalabilità di un sistema informatico che si appoggia a un server cloud dipende dagli aspetti tipici del progetto alla base della nuvola. Da una parte, abbiamo risorse che vanno spostate e riorganizzate, dall’altra, la possibilità di implementarne di nuove.