Le tre dimensioni del Cloud Computing
Il National Institute of Standards and Technology (NIST) ha pubblicato una definizione funzionale di Cloud Computing che integra diverse caratteristiche comuni a molte soluzioni di mercato, utile per chiarire il panorama dell’offerta e capire il posizionamento dei player.
di Gian Franco Stucchi
Independent ICT Watcher
Il Cloud Computing è ancora un paradigma in evoluzione, nonostante sia ormai diffusa, tra gli operatori del comparto delle tecnologie dell’informazione, un certa frenesia di presenzialismo poiché è considerato molto promettente in termini di ricavi. Le definizioni, i casi d’uso, le tecnologie di base, i problemi, i rischi e i benefici che dovrebbe produrre questo paradigma computazionale saranno certamente precisati, nel corso dei prossimi mesi, in modo più accurato di quanto lo siano attualmente grazie (per dirla in politichese) “all’ampio dibattito” in atto su questo tema sia nel settore pubblico che in quello privato. E’ prevedibile però che tutto ciò che vi è di inerente, afferente e consequenziale al Cloud Computing evolverà e cambierà nel tempo, così come è accaduto – e accadrà – per ogni altro paradigma-killer che, periodicamente, emerge dall’ICT (o viene fatto emergere artatamente).
E’ semplice pronosticare una certa aleatorietà definitoria del Cloud Computing dato che le specifiche riportate nel documento assunto come base per la redazione di questo articolo fanno riferimento alla versione 15 della definizione, pubblicata il 7 ottobre 2009 dall’Information Technology Laboratory del NIST e redatta a cura di due scienziati, onusti di gloria informatica, quali Peter Mell e Tim Grance.
Si osservi infine che l’industria del Cloud Computing costituisce un ecosistema ampio e articolato, composto da diversi modelli di riferimento, adottati da una crescente comunità di fornitori di soluzioni e servizi che operano in quasi tutti i settori di mercato. Ne discende che le definizioni riportate nel seguito sono piuttosto lasche, appunto perché tentano di comprendere tutti i vari approcci possibili al Cloud Computing.
La definizione
Secondo il gruppo di lavoro coordinato da Mell e Grance, il Cloud Computing è definibile nel modo seguente:
“Il Cloud Computing è un paradigma di elaborazione dei dati concepito per favorire, tramite la rete Internet e l’utilizzo on-demand, l’accesso economico a una serie di funzionalità ICT. Esso riguarda un pool riconfigurabile di risorse computazionali condivisibili (per esempio: reti, server, sistemi di storage, applicazioni e servizi) che possono essere rese rapidamente disponibili a un parco di clienti indefinitamente esteso. Il rilascio di queste risorse deve avvenire da parte di un fornitore di servizi e con la minima attività possibile di gestione o di interazione”.
Questo modello di Cloud Computing enfatizza la disponibilità delle risorse ed è composto da cinque caratteristiche di base, tre modelli di servizio e quattro modelli di distribuzione.
Le caratteristiche di base
On-demand self-service. Si assume che ogni consumatore (o cliente) sia messo in condizione di acquisire, unilateralmente e in base alle proprie esigenze operative, il complesso delle capacità di elaborazione di cui ha bisogno, sia in termini di tempo macchina dei server che di capacità della memoria di massa disponibile via rete. Questa attività deve avvenire automaticamente, attingendo ai servizi che ogni provider eroga e senza richiedere alcuna interazione umana.
Broad network access. Le diverse funzionalità sono rese disponibili tramite una rete (di comunicazione) accessibile mediante una serie di meccanismi standard che promuovono l’utilizzo, da parte del consumatore, di piattaforme o dispositivi eterogenei, stanziali o mobili (per esempio, telefoni cellulari, laptop e PDA).
Resource pooling. I provider delle risorse di elaborazione sono raggruppati in pool affinché possano servire una pluralità di utenti utilizzando un modello multi-tenant, con diverse risorse fisiche e virtuali assegnate ai tenant (“affittuari”) in modo dinamico e in base alla domanda. Negli ambienti di Cloud Computing il cliente deve percepire un marcato senso di indipendenza dalla locazione; in genere non ha alcun controllo o conoscenza sulla posizione esatta, puntuale, delle risorse a sua disposizione, ma è in grado di specificarla a un livello di astrazione piuttosto elevato (di stato, regione, datacenter). Esempi di risorse sono lo storage (memorie di massa), gli elaboratori, la memoria centrale, la larghezza di banda della rete di comunicazione e le macchine virtuali.
Rapid elasticity. Le funzionalità sono rese disponibili in modo rapido ed elastico (cioè adattabile al carico di lavoro). In alcuni casi si richiede che ciò avvenga automaticamente per permettere di scalare rapidamente in modo distribuito (scale out) e, altrettanto rapidamente, essere rilasciate per traslare in ambienti centralizzati (scale in). Per il consumatore, le capacità disponibili devono apparire illimitate e possono essere acquistate in qualsiasi momento nelle quantità desiderate.
Measured service. I sistemi cloud controllano e ottimizzano le risorse in modo automatico adottando alcune funzioni di misurazione operanti a un livello di astrazione adeguato al tipo di servizio richiesto (per esempio: storage, processing, larghezza di banda e contabilizzazione degli utenti attivi). Inoltre, l’utilizzazione delle risorse può essere monitorata, controllata e riportata all’esterno del sistema per garantire la trasparenza operativa e amministrativa sia ai provider che ai consumer dei servizi utilizzati.
I modelli di servizio
Software as a Service (SaaS). E’ la capacità, messa a disposizione del consumatore, di utilizzare le applicazioni del fornitore che operano su un’infrastruttura cloud. Le applicazioni possono essere accedute da diversi dispositivi client tramite un’interfaccia di tipo thin-client (come un web-browser, per esempio). Il consumatore non gestisce o controlla la sottostante infrastruttura cloud (rete, server, sistemi operativi, storage, singole funzioni applicative), con l’eccezione, eventualmente, di un limitato gruppo di impostazioni di configurazione applicative specifiche di un certo utente.
Platform as a Service (PaaS). Con questa dizione si intende la capacità, attribuita (o ceduta) al consumatore, di dislocare sull’infrastruttura cloud alcune applicazioni realizzate dal consumatore stesso o acquisite dal mercato. Esse devono essere create utilizzando i linguaggi di programmazione o i tool supportati dal provider dell’infrastruttura. Il consumatore non deve gestire l’infrastruttura cloud, ma ha il controllo sulle applicazioni distribuite e, se possibile, anche sulle configurazioni dell’ambiente di hosting applicativo.
Infrastructure as a Service (IaaS). Permette di fornire al consumatore la capacità di acquisire le risorse di calcolo fondamentali relative ai server, allo storage e alle reti. In questo caso il consumatore è in grado di distribuire e attivare l’esecuzione di qualunque tipo di sistema software, sia di base (per esempio i sistemi operativi) che applicativo (per esempio una suite di gestione aziendale o di customer relationship management). Anche in questo caso il consumatore non gestisce l’infrastruttura cloud, ma ha il governo dei sistemi operativi, dello storage, delle applicazioni distribuite ed, eventualmente, esercita un controllo limitato sulla selezione di alcuni componenti di rete (per esempio i firewall dislocati sull’host).
I modelli di distribuzione
Private cloud. Definisce un’infrastruttura cloud utilizzata esclusivamente da un’organizzazione (impresa o ente). Può essere gestita direttamente dall’organizzazione oppure da uno o più provider specializzati, ed esistere in forma “on premise” (letteralmente nell’edificio, in sede) oppure “off premise” (fuori dall’edificio, fuori sede).
Community cloud. L’infrastruttura cloud è condivisa da molte organizzazioni e supporta una comunità di consumer che hanno gli stessi interessi (per esempio: la missione, i requisiti di sicurezza, le policy, le considerazioni sulla conformità). Essa può essere gestita dalle organizzazioni o da terzi e può esistere in forma on premise o off premise.
Public cloud. L’infrastruttura di cloud computing è messa a disposizione del pubblico o di un settore industriale di grandi dimensioni ed è di proprietà di un’organizzazione specializzata nella vendita di servizi cloud.
Hybrid cloud. L’infrastruttura cloud è una composizione di due o più modelli di distribuzione (private, community, public), che rimangono entità uniche ma sono integrate da tecnologie standard o proprietarie che consentono di effettuare la portabilità dei dati e delle applicazioni (per esempio il cloud bursting, una tecnica per il bilanciamento del carico tra cloud).
I sistemi software cloud-like sfruttano appieno le opportunità offerte dal paradigma Cloud Computing essendo, innanzitutto, orientate ai servizi ma con particolare attenzione alla condizione di “statelessness” (o “apolidia”, che in questo caso indica la non-appartenenza a una particolare corrente culturale o commerciale dell’ICT), all’accoppiamento lasco, alla modularità e all’interoperabilità semantica.
La consacrazione del paradigma
Da diversi anni gli esperti dell’ICT profetizzano l’avvento del Cloud Computing e anche le piccole e medie aziende stanno prendendo in considerazione la “nuvola”, nonostante il fatto che la crisi economica globale, scoppiata nel 2008, abbia rallentato gli investimenti in questa tecnologia,in particolare, e nel settore dell’innovazione tecnologica, in generale. Sembra però che l’anno in corso sia quello della definitiva affermazione di questo paradigma. Il Cloud Computing sta raggiungendo lo stadio della maturità nelle grandi imprese, secondo quanto rivelano gli studi condotti – su universi-campione anche estesi e articolati di professionisti e aziende utenti di ICT – sia dalle società di ricerca (per esempio, dalle citatissime Gartner e IDC a livello mondiale e recentemente, a livello italiano, da NextValue), sia dalle organizzazioni di tipo “università-impresa” (vedasi l’affollato pool degli Osservatori MIP del Politecnico di Milano). A questi centri di competenza si rimanda il lettore per eventuali approfondimenti sullo stato d’avanzamento della pervasività del Cloud Computing.
I vantaggi nell’adozione di soluzioni di questo tipo risiedono nell’ottimizzazione dei costi e della ridondanza, con un parallelo aumento del grado di uptime e di scalabilità dell’impianto cloud di elaborazione dell’informazione che si intende realizzare o utilizzare. In effetti il Cloud Computing, secondo il report “Cloud Dividend” del Centre for Economics and Business Research (CEBR), potrebbe migliorare l’efficienza di un impiegato in media del 2,1%, riducendo anche la quantità degli investimenti sprecati, cioè legati alla sottoutilizzazione delle capacità ICT. Per questo motivo nei prossimi anni queste soluzioni saranno in grado di produrre benefici per una cifra record (si parla di quasi ottocento miliardi di euro) e generare oltre due milioni di posti di lavoro entro il 2015, cifre non certo trascurabili per le imprese dai paesi del Vecchio Continente, sempre più sottoposte alla pressione della concorrenza globale esercitata principalmente dal pool del “cartello BRICS” (Brasile, Russia, India, Cina, Sud Africa)
Tra i settori che potrebbero maggiormente beneficiare dall’avvento del cloud, prevede il CEBR, si annoverano la distribuzione, il retail e l’hospitality. Ma perché la rivoluzione della nuvola possa definitivamente affermarsi è necessaria una svolta radicale dal punto di vista normativo poiché, di fatto, con questa tecnologia si esporta una certa mole di dati al di fuori dei cancelli dell’impresa, spesso all’estero e in luoghi diversi, in contrasto con tutto ciò che normalmente è previsto, per ragioni legata alle privacy e alla sicurezza, dalle policy aziendali e dai regolamenti in uso negli Stati Europei,
Neelie Kroes, dal 2010 Commissario Europeo per l’Agenda Digitale, ha costantemente sottolineato che le linee guida della normativa EU dovranno riguardare la protezione dei dati, la sicurezza, la regolamentazione della privacy e un approccio comune all’impiego delle tecnologie cloud.
«Secondo me – ha dichiarato recentemente – ogni cittadino europeo, fruitore di servizi cloud, deve essere messo in grado di sapere come il proprio fornitore protegge i suoi dati. Inoltre, tutti i governi dei Paesi in cui si trovano i server (ovvero dove “la nuvola tocca la terra”) devono definire un quadro giuridico tale per cui sia garantita un’adeguata protezione dei dati e della privacy. Può sussistere una serie (limitata) di eccezioni – dettate, per esempio, da ragioni contingenti di ordine pubblico o di sicurezza nazionale – ma anche queste devono essere coerenti con i principi sovrani dello Stato di Diritto».
A questo proposito osserviamo che, una volta – ma sono passati molti anni – l’Italia era considerata la patria del diritto, tanto che avevamo molti legislatori che riuscivano a dare un senso ai codici. Oggi i cittadini sono sconfortati; qualcuno parla ancora dell’Italia come la patria del diritto, ma troppe sono le leggi “ad personam” approvare nelle varie sedi competenti, anche quando sono palesemente illegittime.
Forse la diffusione del Cloud Computing può essere proprio l’occasione per intraprendere un cammino verso un nuovo Stato di Diritto (magari seguito dal solito, ma stantio, “2.0” o dal persistente aggettivo “Digitale”).