Cloud computing
In informatica, con il termine cloud computing si intende un insieme di tecnologie informatiche che permettono l'utilizzo di risorse (storage, CPU) distribuite.
La caratteristica principale di tale approccio è 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.
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.