Cos’è il cloud computing, quali sono le varie tipologie, le implementazioni e quali i vantaggi applicativi per le aziende


Per capire il cloud computing cos’è bisogna partire dal concetto che la trasformazione digitale delle aziende è ormai sempre più agevolata da metodi e strumenti in grado di rendere sempre più semplici ed efficienti tutti i processi legati alla gestione informatizzata. In questo range di possibilità rientra sicuramente il Cloud Computing che, grazie all’utilizzo della rete internet, rivoluziona le logiche legate alle tradizionali infrastrutture IT localizzate nelle aziende. Vediamo cosa si intende per Cloud Computing, quali sono i vantaggi che derivano dal suo utilizzo e quali sono le possibili implementazioni che il suo paradigma distributivo è in grado di abilitare.

Una comprensione globale delle potenzialità offerte dalla “nuvola” è infatti essenziale per formare una visione strategica condivisa, capace di affrontare con successo la sfida organizzativa della migrazione verso gli ambienti Cloud dei sistemi IT aziendali.

CTA risorsa replatforming

Cos’è il cloud computing

Esistono varie definizioni di Cloud Computing, basate su una declinazione tecnica piuttosto che commerciale. Per quanto concerne gli aspetti pratici, il Cloud Computing può essere sintetizzato come la distribuzione, attraverso la rete internet, di servizi di calcolo legati a data center, server fisici e virtuali, infrastrutture di rete, database e applicativi di varia natura, con un modello di business fondato sul pagamento a consumo dei servizi utilizzati, lasciando al fornitore dei servizi stessi tutto l’onere relativo al mantenimento in efficienza degli aspetti hardware e software necessari per garantirli.

In altri termini, l’azienda può rinunciare alla dotazione interna di hardware-software, oltre alla relativa gestione IT, avvalendosi di servizi esterni, scalabili dinamicamente sulla base delle effettive esigenze computazionali di cui necessita per svolgere tutte le operazioni previste.

I vantaggi del cloud computing

Nelle loro varie applicazioni, le logiche Cloud consentono di ottenere una serie di vantaggi oggettivi, che vanno opportunamente valutati nel contesto esigenziale di ciascuna azienda. In termini generici, il Cloud Computing consente di ottenere i seguenti benefici:

  • CONTENIMENTO DEI COSTI – si basa sul risparmio relativo all’investimento in hardware e software, oltre che alla configurazione ed alla gestione dell’infrastruttura IT, con tutto ciò che comporta a livello di assunzione e gestione del personale specializzato, locali per rack server e consumi energetici.
  • SCALABILITA’ E VELOCITA’ DI ACCESSO AI SERVIZI – la possibilità di accedere “on demand” alle risorse IT strettamente necessarie per supportare determinate funzioni consente all’azienda un approccio estremamente agile e dinamico. Grazie ai servizi offerti in remoto dai provider Cloud, è infatti possibile aumentare o diminuire in qualsiasi momento vari aspetti, come la potenza di calcolo, la quantità di dati dello storage o l’ampiezza di banda necessaria per raggiungere tutti i propri utenti. Questi vantaggi sono oltretutto ottenibili in maniera immediata attraverso un semplice pannello di controllo via web, con cui effettuare delle richieste che il provider può esaudire molto spesso in tempo reale. Oltre ai vantaggi economici ed operativi, la scalabilità dei servizi Cloud consente alle aziende una maggior tranquillità psicologica, che consente di modificare i propri processi prendendosi tutti i rischi del caso, senza doversi preoccupare della natura della propria infrastruttura IT.
  • PRESTAZIONI E PRODUTTIVITA’ – Affidarsi ai servizi dei provider Cloud consente di avere sempre a disposizione le più avanzate piattaforme hardware e software, nella loro configurazione più efficiente dal punto di vista della velocità e della stabilità. All’incremento generale della performance va associato un notevole risparmio interno nella gestione IT, dal momento che questa incombenza viene quasi totalmente assorbita dal provider Cloud. Questo particolare permette alle aziende di ridurre il personale IT, qualora non necessario, o collocarlo su attività più strategiche.
  • AFFIDABILITA’ E SICUREZZA – Per mantenere un elevato livello di credibilità, i provider Cloud effettuano investimenti importanti e continui per garantire i più avanzati standard di sicurezza. Ciò consente di proteggere dati, applicazioni e infrastrutture da ogni minaccia derivante dalla rete internet. L’integrità è inoltre garantita da sistemi di backup capaci di pianificare nel dettaglio il mirroring dei dati, offrendo all’azienda varie soluzioni di ripristino sulle versioni precedenti anche in caso di errori da parte dell’utente finale.

Cloud computing: 3 implementazioni

Quando si considerano gli aspetti relativi al Cloud Computing, ad esempio nell’ottica di valutare una migrazione, è necessario considerare che ci si riferisce ad un ecosistema di modelli, tipi e servizi estremamente variegato. È dunque necessario focalizzarsi, in primo luogo, almeno su due aspetti fondamentali: quali sono le tipologie di Cloud attualmente disponibili e quali sono i principali servizi che ciascuno di essi è in grado di garantire. A partire da cosa si intende per cloud privato, cloud pubblico e cloud ibrido.

Private cloud

Il cloud privato è di norma costituito un sistema di Cloud Computing riservato, collocato su un data center interno all’azienda o esclusivamente riservato nel caso in cui si scelga di utilizzarne uno in sede ad un provider esterno. A differenza di quanto accade nel cloud pubblico, il cloud privato è caratterizzato da una rete privata, dove i sistemi hardware e software sono di esclusivo utilizzo dell’azienda, che ne gestisce a livello IT sia l’infrastruttura che i servizi in grado di erogare.

Serverless CTA

La natura privata del Cloud consente all’azienda stessa il controllo totale del proprio ambiente, che in alcuni casi può addirittura rivelarsi una scelta obbligata, per via di specifiche normative e/o condizioni contrattuali che, a prescindere dalle garanzie di sicurezza che un cloud pubblico potrebbe comunque garantire, non consentono di collocare alcune tipologie di dati su strutture di terze parti.

I principali vantaggi nell’utilizzo di un cloud privato consistono nella totale flessibilità e controllo, garantiti dalla totale esclusività di gestione, oltre ad una scalabilità superiore rispetto a quella di una infrastruttura tradizionale, anche se mediamente inferiore a quella ottenibile su un cloud pubblico. Un ulteriore vantaggio è costituito dall’azzeramento dei rischi relativi al possibile lock-in con un determinato provider esterno.

Public cloud

Nella condizione alternativa rispetto al cloud privato ritroviamo il cloud pubblico, che coincide con il tipo di distribuzione Cloud Computing attualmente più diffuso. In questa condizione, l’azienda si affida ad un provider esterno che, attraverso la rete internet, eroga una serie di servizi, garantiti 24/7 grazie a sistemi hardware-software di proprietà del provider stesso. Nella condizione ricorrente di cloud pubblico, tali risorse non sono ad esclusivo utilizzo di una sola azienda, come accade nel cloud privato. Ad esempio, i data server e i dispositivi di rete sono fisicamente condivisi per l’erogazione dei servizi a più aziende clienti, ciascuna delle quali gode di un accesso riservato alle proprie risorse allocate. La connessione tra l’azienda ed i servizi cloud del provider esterno avviene di norma mediante un semplice web browser, attraverso un pannello di controllo che consente l’accesso e la gestione di tutti i servizi acquistabili e configurabili in remoto.

I principali vantaggi nell’utilizzo di un cloud pubblico vanno pertanto ricondotti ai benefici generici che si ottengono adottando una distribuzione Cloud Computing: riduzione dei costi hardware-software, zero manutenzione/aggiornamenti da effettuare, elevati standard di affidabilità e produttività, oltre ad una scalabilità pressoché illimitata e direttamente funzionale alle esigenze operative dell’azienda, che paga soltanto per le risorse che effettivamente utilizza.

Hybrid cloud

Il cloud ibrido consiste nell’utilizzo coordinato di distribuzioni di cloud pubblico e privato, con l’obiettivo di combinarne gli effetti e sfruttarne le sinergie nel contesto di una strategia bilanciata, con l’obiettivo di soddisfare tutte le esigenze operative dell’azienda.

L’adozione di un modello basato sul cloud ibrido può inoltre coincidere, anche nei tempi di attuazione, con un piano di progressiva migrazione da un sistema IT prevalentemente basato su una infrastruttura locale e/o cloud privato ad un assetto che si avvale in prevalenza di servizi garantiti dal cloud pubblico. La strategia migratoria è infatti specifica di ogni azienda e viene solitamente attuata per fasi caratterizzate da una grande varietà di approcci. Si assiste ad un trasferimento delle applicazioni esistenti sui sistemi locali (lift and shift) così come alla creazione di nuove applicazioni direttamente sulla nuova infrastruttura (start fresh), con tutte le ibridazioni che intercorrono tra questi due estremi.

Al cloud ibrido viene spesso associato il multicloud, che consiste nell’utilizzo simultaneo di più cloud pubblici, per sfruttare i servizi offerti da provider differenti, oltre ad evitare i rischi di lock-in con un provider specifico. Ibrido e multicloud non vanno dunque confusi. Per semplificare la distinzione, il multicloud può essere interpretato come una naturale estensione delle possibilità del cloud ibrido, che non ne varia tuttavia le logiche di base.

Cloud Computing - schema
Cloud Computing cos’è: schema concettuale del modello “as a service”

Tipologie di servizi cloud

Nel lessico del Cloud Computing ritroviamo con estrema frequenza tre acronimi, che descrivono i principali tipi di servizi di cui è possibile avvalersi nella “nuvola”: Iaas, Paas e Saas. Vediamo nello specifico cosa si intende per ciascuno di questi termini.

IaaS (Infrastructure as a Service)

Infrastructure as a Service

L’infrastruttura distribuita come servizio, come suggerisce il termine stesso, offre all’utente le risorse su cui installare e gestire in totale autonomia le proprie applicazioni. Nell’offerta ritroviamo servizi come lo spazio e le funzioni per l’archiviazione dei dati, il networking, le macchine fisiche e virtuali oltre alla potenza di calcolo da allocare per eseguire le applicazioni particolarmente esose dal punto di vista computazionale (big data, machine learning, rendering, ecc.).

PaaS (Platform as a Service)

La piattaforma distribuita come servizio, oltre al livello infrastrutturale, è nativamente concepita per supportare l’intero ciclo di vita delle applicazioni erogabili via web: creazione, testing, distribuzione e successivi aggiornamenti. Per garantire questo obiettivo, il PaaS dispone pertanto di sistemi operativi, sistemi di sicurezza, sistemi di gestione dei database (es. SQL e NoSQL) e analisi approfondita dei dati, strumenti di business process management (BPM) e ambienti/framework di sviluppo software.

Platform as a Service

Rispetto ad un IaaS puro, la ricorrenza ad una piattaforma PaaS è particolarmente rilevante nel contesto in cui l’azienda scegliesse di migrare da un’infrastruttura locale al Cloud, nonostante non sia sempre del tutto agevole l’integrazione dei servizi offerti dalla piattaforma online con i sistemi esistenti. I PaaS sono comunque dotati di molti tool ottimizzati per agevolare i vari aspetti dell’integrazione stessa, tramite connettori di servizi Cloud e on premise, integrazione Big Data e gestione API.

SaaS (Software as a Service)

Oltre alle infrastrutture ed alle piattaforme, è possibile utilizzare il Cloud anche per distribuire il software. In questo caso il Saas si colloca ad un livello di fruizione ancora più alto rispetto a IaaS e PaaS, in quanto il provider è in grado di offrire delle vere e proprie applicazioni per l’utente finale.

Software as a Service

A differenza della connotazione tradizionale, che vede l’acquisto di una licenza permanente ed un’installazione sempre in locale, il software distribuito come servizio è solitamente fruibile via web, con l’eventuale local app (desktop o mobile) con un accesso solitamente dall’acquisto di un abbonamento, che consente di utilizzare il software per un determinato periodo. È possibile articolare un piano di pricing rivolto sia agli utenti individuali che alle grandi aziende, che necessitano fino a migliaia di account differenti per abilitare i propri dipendenti.

A differenza di quanto avviene nel caso delle piattaforme IaaS e PaaS, l’utente che si avvale di un SaaS non deve preoccuparsi di nulla, se non dell’utilizzo del software nella sua versione commerciale, dal momento che sarà sempre sviluppato ed aggiornato dal provider stesso, che lo distribuisce in rete grazie alla connessione con i propri data center.

Il caso di SaaS probabilmente più diffuso ed utilizzato da miliardi di utenti, molti dei quali sono sicuramente inconsapevoli del fatto che sia basato sul Cloud, è relativo ai servizi di posta elettronica. In questo caso è sufficiente collegarsi ad internet, aprire in un browser la pagina web del provider mail ed accedervi con il proprio account personale. L’ambiente di creazione, editing e gestione delle mail viene eseguito interamente nella pagina web. Anche nel caso in cui l’utente decidesse di utilizzare un client mail installato in locale, per automatizzare ed avere un controllo più approfondito delle funzioni, questi non farebbe altro che connettersi ai server mail in Cloud, con cui stabilisce un rapporto di sincronia per rendere coerenti le informazioni in locale con quelle condivise in rete.

A prescindere dalle preferenze dei clienti, la maggior parte dei distributori ha iniziato a prediligere un modello commerciale a consumo, basato sul SaaS, rispetto alla tradizionale vendita di licenze permanenti per una data versione del software. Per un vendor i vantaggi del SaaS sono evidenti sia dal punto di vista della fidelizzazione del cliente, che per quanto concerne le misure di contrasto nei confronti della pirateria informatica, grazie al controllo perpetuo che il server è in grado di effettuare online.

Cloud computing: esempi applicativi

I servizi e le applicazioni Cloud ci accompagnano in tantissime attività che quotidianamente siamo chiamati a svolgere su internet. Lato utente è infatti sufficiente effettuare un login su un web browser piuttosto che su altre applicazioni locali per accedere ad un range di possibilità estremamente ampio, tra cui:

  • OPERATIVITA’ IN SMART WORKING – La pandemia Covid-19 ha bruscamente accelerato la diffusione dello smart working. Quando l’accesso alle risorse hardware e software è basato su piattaforme Cloud, la posizione geografica da cui ciò avviene incide relativamente. Pertanto, sia da casa che dell’ufficio, un utente aziendale può accedere via internet utilizzando il proprio account, per avere accesso almeno agli strumenti di lavoro più comuni, tra cui la posta elettronica, le applicazioni office e tutti i servizi di archiviazione dei dati.
  • STREAMING E RIUNIONI IN REMOTO – I principali software di videoconferenza consentono di realizzare riunioni online in multipresenza e sono basati su piattaforme Cloud, che consentono l’accesso alle room virtuali mediante un semplice login via web browser o una app proprietaria per desktop o mobile. Il loro utilizzo è diventato estremamente popolare dopo la pandemia Covid-19 e consente di risolvere moltissime esigenze collaborative, dalle semplici call personali, alle riunioni di lavoro, fino alla didattica a distanza.
  • CONDIVISIONE E COLLABORAZIONE IN REMOTO DEI PROGETTI DI LAVORO – L’utilizzo di un data storage condiviso in Cloud consente a più utenti di connettersi remotamente per operare in contemporanea sui progetti, grazie ad una gestione di risorse condivise. Questo approccio permette ai project manager di avere il controllo in tempo reale sullo stato di avanzamento e al team di collaborare sui file di lavoro, utili anche nelle revisioni di progetto.
  • TEST DELLE APPLICAZIONI – Gli sviluppatori possono testare le loro applicazioni in cloud, in totale sicurezza, grazie all’esecuzione di macchine virtuali in grado di simulare tutte le condizioni operative, oltre ad offrire gli strumenti di sviluppo e le risorse necessarie per la compilazione delle build.
  • GESTIONALI PER L’AZIENDA – La natura multiutente dei sistemi gestionali ha agevolato la diffusione sul Cloud di applicazioni SasS per un’ampia tipologia di software, come gli ERP (enterprise resource planning) e i CRM (customer relationship manager), a loro volta caratterizzati da una grande varietà di sottomoduli.
  • FATTURAZIONE ELETTRONICA – Tra gli ERP più utilizzati ritroviamo senza dubbio le applicazioni per la fatturazione elettronica, soprattutto dopo l’entrata in vigore della normativa che rende questo sistema obbligatorio in molti ambiti. Nelle versioni più semplici è possibile accedere al servizio mediante una pagina web, per avere sempre sotto controllo tutti i dati per la creazione e l’archiviazione delle fatture, oltre alla gestione di dettaglio delle rubriche dei fornitori e dei clienti. I sistemi di creazione assistita delle fatture sono costantemente aggiornati sia a livello funzionale che nel recepimento delle normative vigenti, in modo da evitare errori o riferimenti obsoleti durante la compilazione.
  • RENDERING E MACHINE LEARNING – Uno dei vantaggi delle piattaforme Cloud è quello di poter garantire una potenza computazionale in teoria illimitata, grazie a farm CPU / GPU in grado di raggiungere un numero elevatissimo di TeraFlops. Questo consente di eseguire dei processi di calcolo di elevata entità con tempi tanto più brevi quante sono le risorse allocate. Tra i campi d’azione privilegiati del calcolo in remoto sul Cloud vi è certamente il rendering nella computer grafica: si pensi alla produzione dei video in animazione, che comporta spesso il calcolo di milioni di frame ad altissima risoluzione. Prima dell’avvento del Cloud rendering, poche aziende potevano permettersi una renderfarm interna, dato l’elevatissimo costo hardware- software iniziale, di utilizzo e di gestione/aggiornamento. Di grande attualità è anche il calcolo per le applicazioni basate sull’intelligenza artificiale, nello specifico per il training delle reti neurali con tecniche di machine learning / deep learning.