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 (Application 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 assegnata 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