Cloud computing

forma di elaborazione informatica

In informatica, con il termine cloud computing si intende un insieme di tecnologie informatiche che permettono l'utilizzo di risorse hardware (storage, CPU) o software distribuite in remoto.

Nonostante il termine sia piuttosto vago e sembri essere utilizzato in diversi contesti con significati differenti tra loro, si possono distinguere tre tipologie fondamentali di Cloud Computing:

  • SaaS (Software as a Service) - Consiste nell'utilizzo di programmi in remoto, spesso attraverso un server web. Questo acronimo è pressappoco un sinonimo di un termine oggi in disuso, ASP (Application Service Provider).
  • PaaS (Platform as a Service) - E' simile al SaaS, ma non viene utilizzato in remoto un singolo programma, ma una piattaforma software che può essere costituita da diversi servizi, programmi, librerie, etc.
  • IaaS (Infrastructure as a Service) - Utilizzo di risorse hardware in remoto. Questo tipo di Cloud è quasi un sinonimo di Grid Computing, ma con una caratteristica imprescindibile: le risorse vengono utilizzate su richiesta al momento in cui un cliente ne ha bisogno, non vengono assegnate a prescindere dal loro utilizzo effettivo.

Una caratteristica del Cloud Computing è di rendere disponibili all'utilizzatore tali risorse come se fossero implementate da sistemi (server o periferiche personali) "standard". L'implementazione effettiva delle risorse non è definita in modo dettagliato; anzi l'idea è proprio che l'implementazione sia un insieme eterogeneo e distribuito – the cloud, in inglese nuvola – di risorse le cui caratteristiche non sono note all'utilizzatore.

Il termine cloud computing si differenzia da grid computing che è un paradigma orientato al calcolo distribuito, e in generale, richiede che le applicazioni siano progettate in modo specifico.

Casi d'uso

Il paradigma del cloud computing prevede tre attori distinti:

  • Fornitore di servizi – Offre servizi (server virtuali, storage, applicazioni complete) generalmente secondo un modello "pay-per-use"
  • Cliente amministratore – Sceglie e configura i servizi offerti dal fornitore, generalmente offrendo un valore aggiunto come ad esempio applicazioni software
  • Cliente finale – Utilizza i servizi opportunamente configurati dal cliente amministratore

In determinati casi d'uso il cliente amministratore e il cliente finale possono coincidere. Ad esempio un cliente può utilizzare un servizio di storage per effettuare il backup dei propri dati, in questo caso il cliente provvede a configurare e utilizzare il servizio.

Architettura

L'architettura del cloud computing prevede uno o più server reali, generalmente in architettura ad alta affidabilità e fisicamente collocati presso il data center del fornitore del servizio.

 
Architettura cloud computing

Il fornitore di servizi espone delle interfacce per elencare e gestire i propri servizi.

Il cliente amministratore utilizza tali interfacce per selezionare il servizio richiesto (ad esempio un server virtuale completo oppure solo storage) e per amministrarlo (configurazione, attivazione, disattivazione).

Il cliente finale utilizza il servizio configurato dal cliente amministratore, le caratteristiche fisiche dell'implementazione (server reale, localizzazione del data center) sono irrilevanti.

Voci correlate

Collegamenti esterni

  • Ac LAB Sito di critica e controinformazione sul cloud computing