Premessa
Nel riordinare il materiale di MokaByte, in vista del futuro restyling del sito, ci stiamo soffermando, qua e là, in diversi articoli di molti anni fa. Alcuni presentano idee e visioni che, per quanto importanti al tempo, oramai ci appaiono obsolete e superate. Altri facevano ipotesi, ad esempio su prodotti e tecnologie, che poi non si sono sviluppate come in molti pensavano. Ma ce ne sono alcuni che, a distanza di tanti anni, ci avevano visto giusto.
In tal senso, riproponiamo questo articolo del febbraio 2010, in cui si affrontava il tema del cloud computing (si usava questa terminologia, adesso ridotta comunemente a “cloud”) da una prospettiva che ci mostra un certo tipo di “prudenza” che in parte oggi è superato, ma che non è affatto privo di senso. In questi dieci anni sono stati fatti passi avanti enormi in termini tecnologici e, ancor più, di diffusione e pervasività delle soluzioni. Certi temi possono apparire superati, ma altri restano molto attuali e ci riposizionano in una giusta prospettiva temporale. In “informatica” dieci anni sono un’epoca storica, ma nella vita quotidiana, per quanto densi di eventi e novità, restano un arco di tempo non lunghissimo (n.d.r.).
Febbraio 2010
Che cosa è il cloud computing?. Quali sono le tecnologie abilitanti? E perché le aziende sono pronte a investire molto in questo campo? In questa nuova serie partiamo con un’introduzione alla tematica del cloud computing, per definirne gli elementi costitutivi. Nel prossimo articolo saranno trattate in modo specifico le “nuvole” di tipo pubblico.
Dei “temi caldi” dell’Information Technology, per cui gli analisti prevedono una forte crescita nel corso dei prossimi anni, il “cloud computing” è indubbiamente tra quelli che stanno riscuotendo maggiore interesse. E questo non solo da parte delle aziende, ma anche da parte di utenti privati.
Per quanto ci siano ancora degli scettici e ci siano tematiche che suscitino dubbi e perplessità, si può certamente dire che il cloud computing è ormai una realtà presente in diverse forme e che è qui per restare.
Che cos’è il cloud computing?
Di cloud computing si è scritto e parlato molto nel corso degli ultimi anni. Il suo significato può non essere, tuttavia, del tutto chiaro anche perche’ non ne esiste una definizione ampiamente condivisa.
Il concetto di “nuvola” non è nuovo nell’IT: è stato infatti ampliamente utilizzato nelle rappresentazioni di reti di telecomunicazioni e tuttoggi queste (o parti di queste) vengono rappresentate con la forma di una nuvola paffutella. In questi diagrammi, la nuvola rappresenta tutte quelle componenti che permettono di interconnettere due o più punti tra loro: non ci interessa sapere come questa comunicazione avvenga, per mezzo di quali protocolli, attraverso quali Paesi. L’unica cosa di cui ci importa è che queste ci forniscano il servizio di cui abbiamo bisogno nel momento in cui lo richiediamo (o in un tempo comunque ragionevole).
Con l’inizio del nuovo secolo, questo stesso concetto è stato esteso a tutto il mondo dell’IT, passando prima per l’architettura orientata ai servizi e i web services, per arrivare poi gradualmente al cloud computing.
Ma cos’è quindi il cloud computing? Iniziamo con il vedere che cosa non è. Cloud computing non è ne’ un’architettura ne’ un’infrastruttura ne’ una nuova tecnologia.
Cloud computing è una nuova metodologia di gestione dell’infrastruttura IT che fa leva su alcune tecnologie abilitanti come la virtualizzazione, l’orientamento ai servizi, Internet e l’automazione dei servizi di gestione. Può essere definito come un nuovo modello che semplifica l’utilizzo delle tecnologie informatiche, modificando il rapporto tra fornitori e consumatori di servizi IT: prevede infatti la fruizione da parte dei consumatori di risorse elastiche, estremamente scalabili e potenzialmente illimitate attraverso Internet. In pochissime parole: un nuovo modello di provisioning delle risorse IT che vegono fornite come servizio.
Questo processo di cambiamento è già in atto ed è reso possibile dal grado di maturità raggiunto dalle principali tecnologie abilitanti. Tutte le maggiori aziende che operano nel settore hanno annunciato il loro ingresso in questo nuovo campo: Amazon, Yahoo, Google, IBM, Microsoft e poi Sun, Intel, Oracle, SAS, Adobe e tante altre. Tutte hanno investito enormemente in questo settore e oggi iniziamo a vederne i risultati.
I benefici del cloud computing
Ci sono differenti ragioni per cui le organizzazioni dovrebbero investire, ed effettivamente investono, nel cloud computing. Le principali sono il controllo dei costi, la semplificazione e l’agilità.
Il cloud computing permette di ridurre notevolmente i costi associati alla fornitura di servizi IT. Spostando le risorse e le applicazioni nella “nuvola” queste organizzazioni possono ridimensionare l’infrastruttura IT di cui devono disporre in-house, riducendo così i costi di capitale, ma anche i costi di gestione ad essa associati. Non solo, il cloud computing permette alle organizzazioni di pagare unicamente per quello che usano, per esempio attraverso il pagamento di canoni mensili o annuali.
Riducendo l’infrastruttura IT, inoltre, le persone che normalmente sono impegnate nella gestione di questa possono dedicarsi a differenti attività focalizzandosi maggiormente sulla creazione di valore per l’azienda e sull’innovazione.
Basandosi su infrastrutture IT scalabili, elastiche e on-demand, le organizzazioni possono far leva sull’agilità che ne consegue, adattandosi e assecondando con rapidità le richieste del mercato.
Tipologie di servizi
IT come servizio fornito e consumato in real-time attraverso Internet: questa è l’idea che c’è alla base del cloud computing. È possibile raggruppare i servizi IT forniti in un gran numero di categorie, ma le tre principali sono elencate di seguito e illustrate in figura 1.
- Infrastructure-as-a-Service (IaaS): questo tipo di offerta fornisce quelle che possiamo definire “risorse computazionali elementari” come potenza elaborativa, memoria, connettività, etc. Il consumatore ha il diretto controllo sul sistema operativo, sullo storage, può effettuare il deploy di applicazioni e modificare configurazioni di rete. Questo tipo di servizio, che gli utenti pagano in funzione dell’utilizzo che fanno delle risorse, è assimilabile al modello di offerta dell’acqua e della corrente elettrica. Per questo viene anche definito “utility computing”.
- Platform-as-a-Service (PaaS): questa offerta fornisce al consumatore un ambiente di runtime per le sue applicazioni. Il consumatore ha diretto controllo solo sulle sue applicazioni, eventualmente un parziale controllo sull’ambiente dove le applicazioni sono eseguite, ma non ha nessun controllo diretto su sistema operativo, infrastruttura di rete o hardware. La piattaforma è tipicamente un framework applicativo.
- Software-as-a-Service (SaaS): rappresenta probabilmente la fetta più ampia del mercato attuale. Il provider permette all’utente di utilizzare unicamente delle applicazioni. Queste applicazioni possono essere qualunque cosa dalla banale e-mail ad una complessa applicatione CRM (Salesforce) a una suite di prodotti office (Google Docs) fino a un insieme di prodotti per la collaborazione online (LotusLive).
Nuvola pubblica, nuvola privata o nuvola ibrida?
Una nuvola può essere di tre tipi: pubblica, privata o ibrida. Nell’accezione più comune, quando si parla di cloud computing si pensa subito a uno specifico modello di cloud: quello pubblico. In questo modello, il fornitore offre servizi tramite Internet a un consumatore esterno. Il fornitore si occupa interamente dell’infrastruttura, dell’installazione, della gestione, del provisionig e della manutenzione, mentre il consumatore non viene interessato da nessuna di queste attività. Appoggiarsi a cloud di tipo pubblico significa poter pagare solamente per il consumo di risorse che viene fatto, razionalizzando così la spesa.
Chiaramente, servizi che devono essere offerti in questa modalità non possono garantire tutta la gamma di possibili configurazioni, ma richiedono un certo grado di standardizzazione al fine di accomodare il più grande sottoinsieme di utenti possibile. Il consumatore ha pochissimo controllo su questo tipo di risorse e quindi possono sussistere problematiche di sicurezza o compliance con normative e regolamentazioni.
Nei modelli di cloud di tipo privato, l’erogatore e il fruitore dei servizi fanno parte della stessa organizzazione. Questo tipo di nuvola può offrire molti dei vantaggi delle cloud di tipo pubblico, ma con una grande differenza: installazione, gestione e manutenzione dell’infrastruttura sono interamente a carico dell’organizzazione. Per contro sono meno sentiti alcuni aspetti come sicurezza, compliance e accessibilità: informazioni e processi sono gestiti infatti all’interno dell’organizzazione, eliminando esposizioni dal punto di vista della sicurezza; inoltre non si è soggetti a vincoli o limitazioni di banda che possono penalizzare invece i servizi cloud di tipo pubblico. Si ha inoltre un controllo diretto sull’infrastruttura, maggiore libertà dal punto di vista delle possibili configurazioni.
Combinando nuvole pubbliche e private si ottengono infine nuvole ibride. Questo tipo di nuvola può fare leva sia sui servizi offerti da nuvole pubbliche sia sui servizi offerti da nuvole private. Nuvole di questo tipo, se ben progettate, possono anche servire in modo sicuro applicazioni critiche per l’azienda. Il principale svantaggio è invece rappresentato dalla maggiore complessità di questa tipologia di cloud computing, con le difficoltà connesse al creare e governare questo tipo di soluzione.
Conclusioni
Da un punto di vista puramente tecnologico, il cloud computing non rappresenta una novità, ma piuttosto una modalità di combinazione di più tecnologie ormai mature per poter offrire una infrastruttura IT scalabile, elastica e on-demand attraverso Internet. Questa nuova modalità di fruizione dell’infrastruttura IT offre vantaggi sia economici, permettendo di passare parte dei costi di capitale associati all’IT in costi operativi, sia di gestione. Esistono certamente anche una serie di considerazioni da fare e di critiche che vengono mosse. La più banale è che c’è bisogno della connessione a Internet. E questo, almeno in Italia, potrebbe essere un limite anche se i provider stanno lavorando per garantire la copertura pressoche’ completa del territorio nazionale entro il 2011 (per la precisione, il 97,7 % secondo le stime Telecom Italia del 28/12/2009). Un secondo punto è che le applicazioni basate su cloud tenderanno probabilmente ad avere meno funzionalità rispetto alle applicazioni desktop. Come ultima considerazione, ma non per questo meno importante, vanno analizzati i dubbi relativi alla sicurezza, alla disponibilità e alla privacy dei dati che vengono memorizzati nella nuvola.