Il cloud computing, in italiano nuvola informatica o servizi nella nuvola, indica un paradigma di erogazione di servizi offerti su richiesta da un fornitore a un utente finale attraverso la rete internet (come l'archiviazione, l'elaborazione o la trasmissione dati), a partire da un insieme di risorse preesistenti, configurabili e disponibili in remoto sotto forma di architettura distribuita. Peter Mell, Timothy Grance, The NIST Definition of Cloud Computing. NIST, Special Publication 800-145, Settembre 2011.
Descrizione Le risorse non vengono pienamente configurate e messe in opera dal fornitore appositamente per l'utente, ma gli sono assegnate, convenientemente grazie a procedure automatizzate, a partire da un insieme di risorse condivise con altri utenti lasciando all'utente parte dell'onere della configurazione. Quando l'utente rilascia la risorsa, essa viene similmente riconfigurata nello stato iniziale e rimessa a disposizione nell'insieme condiviso delle risorse, con altrettanta velocità ed economia per il fornitore.
La correttezza nell'uso del termine è contestata da molti esperti: se Rob van der Meulen e Christy Pettey vedono queste tecnologie come un'evoluzione tecnologica offerta dalla rete internet, altri, come Richard Stallman, le considerano invece come una parola ingannevole ideata dalla commercializzazione per far cadere gli utenti nel tranello dei software offerti come servizio, che spesso li privano del controllo delle loro attività informaticheCloud computing is a trap, warns GNU founder Richard Stallman, The Guardian, di Bobbie Johnson, 29 settembre 2008.
Utilizzando vari tipi di unità di elaborazione (CPU), memorie di massa fisse o mobili come RAM, dischi rigidi interni o esterni, CD/DVD, chiavi USB eccetera, un computer è in grado di elaborare, archiviare e recuperare programmi e dati. Nel caso di computer collegati in rete locale (LAN) o geografica (WAN), la possibilità di elaborazione/archiviazione/recupero può essere estesa ad altri computer e dispositivi remoti dislocati sulla rete stessa. Sfruttando la tecnologia del cloud gli utenti collegati al fornitore possono svolgere tutte queste mansioni, anche tramite un semplice navigatore internet: ad esempio, possono utilizzare software remoti non direttamente installati sul proprio computer e salvare dati su memorie di massa in linea predisposte dal fornitore stesso (sfruttando sia reti via cavo che senza fili).
Tipologie Il cloud computing si suddivide, a seconda del modello, in: cloud pubblico ⇒ è quello per antonomasia; cloud privato ⇒ è erogato ad un cliente specifico (un'organizzazione con la sua ragione sociale e le sue sedi); cloud ibrido ⇒ soluzione mista di pubblico e privato ivi compreso un datacenter on premise; può essere anche cloud insieme a tecnologia P2P; multicloud ⇒ i servizi sono acquisiti dall'organizzazione utilizzatrice da almeno due provider distinti e autonomi (non siti diversi di un unico provider anche inteso come gruppo societario), in pratica due concorrenti (se fossero due società distinte dello stesso gruppo non sarebbe più multicloud vero). Un esempio di reale multicloud è un'organizzazione che usa come cloud provider Microsoft e Amazon e/o Google (il secondo provider potrebbe erogare anche solo il servizio di disaster recovery).
Nell'ambito del cloud pubblico esiste la soluzione di virtual private cloud (VPC) ovvero un'offerta di cloud pubblico che consente ad un'organizzazione di creare un proprio cloud privato (isolato logicamente dagli altri tenant dell'infrastruttura condivisi). Un VPC è una soluzione di tipo IaaS essendo di fatto una rete virtuale erogata in cloud.
Precisazione La direttiva UE 2022/2555 NIS2 definisce: cloud "un servizio digitale che consente l'amministrazione su richiesta di un poolPool, in inglese, è la piscina ma qui significa "riserva". scalabile ed elastico di risorse di calcolo condivisibili e l'ampio accesso remoto a quest'ultimo, anche ove tali risorse sono distribuite in varie ubicazioni". Nei considerando avverte che i servizi erogati da un datacenter non è detto che siano cloud computing; servizio di datacenter "un servizio che comprende strutture, o gruppi di strutture, dedicate a ospitare, interconnettere e far funzionare in modo centralizzato apparecchiature informatiche e di rete che forniscono servizi di conservazione, elaborazione e trasporto di dati insieme a tutti gli impianti e le infrastrutture per la distribuzione dell'energia e il controllo ambientale".
Il termine cloud è spesso abusato o usato in maniera scorretta (si confonde il paradigma cloud con il semplice hosting strutturato oppure perché si usa un servizio web). Acquisire specifici (cioè determinati) spazi di archiviazione, server e servizi presso un determinato datacenter, l'housing, l'hosting non sono tecnologia cloud. Invece il cloud (rivolto alle organizzazioni) di Microsoft, Amazon, Google, per citare i principali tre operatori al mondo, è cloud nel vero senso (tecnologico) della parola (le risorse sono indistinte, immediatamente scalabili, raggiungibili ovunque e facilmente, condivise, distribuite, governabili centralmente dall'utente e la loro localizzazione esatta è sconosciuta al cliente in quanto astratte). Inoltre, per essere cloud e non risorse di un datacenter è fondamentale che il cliente del servizio lo possa gestire autonomamenteOppure delegare esecutivamente, per proprio conto e responsabilità, un fornitore di assistenza. (console amministrativa) ed elasticamente in funzione delle necessità nel tempo. Per fare un altro esempio alla portata di tutti: cloud è Google Workspace o Microsoft 365 o Amazon Drive Home. Nel cloud le responsabilità sono suddivise tra fornitore e cliente mentre nei servizi di datacenter le responsabilità rimangono in capo al cliente (ad esempio il provisioning è manuale o semi-manuale). Inoltre, nel primo caso i costi sono operativi, nel secondo sono capitalizzati.
La differenza risiede (per il cloud) nella scalabilità ed elasticità di erogazione delle risorse, nella loro condivisione, nella distribuzione estesa (spesso non conosciuta da clienti e utenti), nella disponibilità di numerosi strumenti amministrativi (servizi gestiti). Un'impresa che fornisce un servizio di datacenter (localizzato in un determinato sito) potrebbe erogare risorse secondo il paradigma cloud. Invece, nell'hosting infrastrutturale ovvero dislocare un'infrastruttura applicativa in un preciso datacenter di un fornitore che non è un cloud service provider (CSP) ma è una server farm, è considerata architettura on premises, non tecnologia cloud.
In pratica: cloud è una modalità tecnologica ben precisa di fruizione (elastica e gestibile autonomamente da parte del cliente) di una riserva (pool) di risorse informatiche erogate tramite Internet.
Figure coinvolte Il sistema del cloud computing prevede tre fattori distinti: fornitore di servizi: offre servizi di server virtuali, archiviazione, applicazioni complete (per es. base di dati) generalmente secondo un modello pay per use (PPU); cliente amministratore: sceglie e configura i servizi offerti dal fornitore, generalmente offrendo un valore aggiunto come per esempio applicazioni software; cliente finale o, meglio, utente: utilizza i servizi opportunamente configurati dal cliente amministratore.
In determinati casi d'uso il cliente amministratore e il cliente finale possono coincidere: per esempio, un cliente può utilizzare un servizio di archiviazione per effettuare una copia dei propri dati; in questo caso il cliente finale provvede a configurare e utilizzare il servizio.
I principali processi su cui i diversi fornitori cominciano a proporre soluzioni in modalità cloud sono la gestione della relazione col cliente (CRM), la gestione del capitale umano (HCM) e la pianificazione delle risorse d'impresa (ERP).
Architettura L'architettura informatica del cloud computing prevede uno o più server reali, generalmente in architettura ad alta affidabilità (gruppi di server) e fisicamente collocati presso il centro dati del fornitore del servizio.
Il fornitore di servizi espone delle interfacce per elencare e gestire i propri servizi; il cliente amministratore utilizza tali interfacce per selezionare la risorsa necessaria (per esempio un server virtuale per eseguire un'applicazione e per amministrarla (configurazione, attivazione, disattivazione).
Il cliente finale utilizza come "servizio"Nel gergo informatico, significa, in parole povere, usare un semplice browser o una web app dedicata. la risorsa configurata dal cliente amministratore; le caratteristiche fisiche dell'implementazione (server reale, localizzazione del centro dati) sono irrilevanti.
Uno dei tanti componenti chiave di un'istanza cloud è il bucket (lett. "secchio") ovvero uno spazio per l'archiviazione dati (container).
Servizi Nonostante il termine sia piuttosto vago e sembri essere utilizzato in diversi contesti con significati differenti tra loro, si possono distinguere tre tipi fondamentali di servizi cloud: SaaS (software as a service) -Software as a service (acronimo SaaS, lett. "software come servizio", in alcuni casi anche Pay Per Use - PPU cioè lett. "pagare per l'uso") è un modello di servizio del software applicativo realizzato da un produttore che mette a disposizione un programma, direttamente o tramite terze parti, con modalità telematiche come ad esempio un'applicazione web (un'app navigabile via browser o attraverso un client dedicato). Consiste nell'utilizzo di programmi installati su un server remoto, cioè fuori del computer fisico o dalla LAN locale, spesso attraverso un server web; quest'acronimo condivide in parte la filosofia di un termine oggi in disuso, ASP (application service provider). Quello SaaS è il servizio più semplice da comprendere intuitivamente per un utente-persona fisica perché si tratta di usare la solita applicazione software a cui si è abituati da tempo ma con maggiore comoditàPerché non occorre installare nulla ed è fruibile ovunque con qualsiasi dispositivo. (cioè la tecnologia è trasparente). Un'evoluzione del SaaS in ambito mobile è stata rilasciata nel maggio 2020 sotto il nome di Cloud Service Application (CSA); DaaS (data as a service) - con questo servizio vengono messi a disposizione via web solamente i dati, rendendoli disponibili in vari formati e ad applicazioni diverse come se fossero presenti sul disco locale. DaaS è cugino del SaaS Software as a Service e sempre più spesso l'unione di queste due tecniche offre ulteriori opportunità di realizzazione di servizi in rete per la gestione e la condivisione di dati, informazioni e modi di elaborazione degli stessi, ai quali gli utenti possono accedere tramite qualsiasi applicazione, come se fossero residenti su un disco locale; in pratica il DAAS non è basato sul concetto di server ma di storage (conservazione dati); HaaS (hardware as a service) - con questo servizio l'utente invia dati a un computer, che vengono elaborati da computer messi a disposizione e restituiti all'utente iniziale.
A questi tre principali servizi possono esserne integrati altri: PaaS (platform as a service) - Invece che uno o più programmi singoli, viene eseguita in remoto una piattaforma software che può essere costituita da diversi servizi, programmi, librerie, ecc. Tale servizio è tipico di alcune piattaforme utilizzate per sviluppare altri programmi, quali Amazon Web Services o Microsoft Azure o Oracle PaaS. Il paradigma multi-tenant è tipico delle architetture con tecnologia PaaS.