Introduzione al Cloud Computing

In questa serie di articoli introdurrò alcuni aspetti fondamentali del Cloud Computing, tecnologia che ho conosciuto e utilizzato durante il lavoro di tesi per la mia laurea Triennale in Ingegneria dell’Informazione.

In letteratura esistono numerose definizioni del termine “Cloud Computing”, ma nessuna di esse riscuote un consenso univoco.
Un definizione è definire quella che descrive tale tecnologia come “un paradigma di calcolo distribuito su larga scala, guidato da un’economia di scala, in cui un insieme di servizi scalabili (potenza di calcolo, storage, piattaforme software), sono erogati su richiesta, a clienti che la richiedono attraverso Internet” [Racu, 2008].
Da questa definizione, vediamo che il Cloud Computing è un paradigma, cioè un modello di calcolo distribuito, che si differenzia da altri, quali Grid Computing e High Performance Computing (HPC) per i seguenti fattori:

  • Le risorse messe a disposizione sono altamente e istantaneamente scalabili;
  • Può essere incapsulata come entità astratta, che offre diversi livelli di servizi a clienti al di fuori della Cloud;
  • È guidato da economie di scala;
  • I servizi offerti possono essere configurati dinamicamente e consegnati su richiesta ai clienti, attraverso tecnologie quali la virtualizzazione o altro.

Un’altra definizione, meno astratta e quindi più utile a livello operativo, descrive tale tecnologia come “un modello per fornire, attraverso la rete Internet, risorse hardware e software sotto forma di servizio, in tempo reale”.

Il Cloud Computing permette quindi agli utenti di vedere ed ottenere i servizi, lasciando le infrastrutture necessarie, invisibili nella Cloud (“nuvola”) [IBM Academic].

 

Schema architetturale della Cloud Computing
Schema architetturale della Cloud Computing

 

I fattori che stanno portando tale tecnologia alla ribalta sono principalmente i seguenti:

  • La rapida diminuzione dei costi hardware e l’aumento simultaneo della potenza di calcolo e la capacità di memorizzazione;
  • L’avvento di calcolatori dotati di architetture multi-core;
  • La crescita esponenziale della quantità e complessità dei dati trattati in campo scientifico e non;
  • Il conseguente aumento della richiesta di memorizzazione dati;
  • La diffusione di tecnologie e servizi Web 2.0.

L’obiettivo primario del Cloud Computing è quindi la centralizzazione dell’archiviazione, potenza di calcolo ed elaborazione, in modo da renderli accessibili all’utente ovunque si trovi, attraverso una semplice connessione Internet e un browser web.
Tale aspetto evidenzia quindi, come attraverso il Cloud Computing, i clienti del servizio possano operare senza doversi occupare dell’acquisto e gestione degli strumenti tecnologici necessari. Ciò è di particolare interesse nel mondo scientifico, in cui ricercatori e studiosi, mediante il Cloud Computing possono disporre di elevate capacità di archiviazione e di calcolo, senza dover acquistare e gestire complesse infrastrutture informatiche. Il Cloud Computing diventa quindi un’opportunità fondamentale per i centri di ricerca e le università.

Anche le aziende sono attratte sempre più da questa tecnologia, in quanto attraverso il suo utilizzo è possibile:

  • Ridurre i costi associati alla distribuzione dei propri servizi di Information Technology;
  • Ottenere le risorse quando occorrono in tempi istantanei;
  • Pagare solo quello che realmente si utilizza;
  • Ridurre gli oneri associati alla gestione delle risorse di Information Technology (IT) di tutta l’azienda;
  • Concentrare maggiormente le proprie risorse sulla produzione;
  • Rimanere sempre all’avanguardia in termini di risorse, ed avere sempre a disposizione le tecnologie necessarie alla propria produzione.

Come accennato in precedenza, il costo di un servizio di Cloud Computing è tipicamente legato all’utilizzo delle risorse, secondo il modello pay-per-use.
Nessun costo fisso di mantenimento è richiesto, ma si paga solo il reale utilizzo delle risorse.

I servizi di Cloud Computing sono generalmente classificati in tre categorie:

  • Software ( SaaS, Software-as-a-Service );
  • Piattaforma ( PaaS, Platform-as-a-Service );
  • Infrastruttura ( IaaS, Infrastructure-as-a-Service ).

Questo insieme di servizi può essere descritto da una piramide, in cui ogni livello rappresenta una tipologia di servizio.
Dalla base verso l’apice si trovano prodotti sempre più specifici destinati ad un’utenza finale.
Viceversa verso la base si trovano prodotti sempre meno specifici ma che consentono la progettazione di sistemi personali e complessi, da rivolgere agli utenti finali.

 

Piramide dei servizi Cloud Computing
Piramide dei servizi Cloud Computing

Prossimi articoli

Servizi SaaS

Servizi PaaS

Servizi IaaS

 

Riferimenti:

Racu, I. (2008, 10 29). Tratto il giorno 09 2010 da http://knol.google.com/k/ioan-raicu/cloud-computing/lsml07wlotuc/5

IBM Academic. (s.d.). Cloud computing. Tratto il giorno 09 2010 da https://www.ibm.com/developerworks/university/cloud/

Image: scottchan / FreeDigitalPhotos.net

Michele Pierri

Sviluppatore android/web/desktop, blogger, nonchè sostenitore incallito dell’universo Cloud Computing, nel tempo libero amo fare sport e praticare arti marziali.