Iniziamo il nostro viaggio nel Cloud Computing fornendone una definizione e facendoci accompagnare da un partner di spessore internazionale: il NIST (National Institute of Standards and Technology).
Definizione di Cloud Computing
NIST definisce il cloud computing come un modello per consentire ovunque e in modo comodo l’accesso, attraverso la rete, ad un pool condiviso di risorse di calcolo (ad esempio, reti dedicate, server, storage, applicazioni e servizi). Queste risorse sono configurabili, vale a dire che possono essere rapidamente rinforzate ovvero rilasciate con il minimo sforzo di gestione oppure grazie all’interazione del fornitore dei servizi.
Questo modello di cloud è composto da cinque caratteristiche essenziali, tre modelli di servizio, e quattro modelli di distribuzione.
Caratteristiche essenziali
Il Cloud Computing ha cinque caratteristiche fondamentali:
- On-demand self-service. Un consumatore può unilateralmente sfruttare le capacità di fornitura di calcolo, il tempo di utilizzo del server e dello storage di rete, in base alle proprie necessità, in maniera automatica e senza interazione umana con il fornitore del servizio.
- Broad network access. Le funzionalità sono disponibili in rete e accessibili tramite meccanismi standard che promuovono l’uso da parte del cliente di piattaforme eterogenee (ad esempio, telefoni cellulari, tablet, computer portatili e workstation).
- Resource pooling. Risorse di calcolo del provider sono raggruppate per servire più consumatori insieme utilizzando un modello multi-tenant, con diverse risorse fisiche e virtuali assegnate dinamicamente in base alla domanda dei consumatori. C’è un senso di indipendenza dal luogo, in cui il cliente non ha alcun controllo o conoscenza sulla posizione esatta delle risorse assegnate ma può essere in grado di specificare la posizione ad un livello più elevato di astrazione (ad esempio, paese, stato o datacenter). Esempi di risorse includono conservazione e elaborazione di dati, memoria e larghezza di banda.
- Rapid elasticity. Le funzionalità possono essere elasticamente controllate e rilasciate, in alcuni casi, automaticamente; vi è la possibilità di scalare rapidamente verso l’alto e verso il basso in maniera commisurata alla domanda. Per il consumatore, le funzionalità disponibili spesso sembrano essere illimitate e possono essere istanziate in qualsiasi quantità ed in qualsiasi momento.
- Measure service. I sistemi cloud controllano automaticamente ed ottimizzano l’utilizzo delle risorse, sfruttando una misurazione della capability ad un certo livello di astrazione appropriato per il tipo di servizio (ad esempio, la conservazione, l’elaborazione, la larghezza di banda, e gli account utente attivi). L’utilizzo delle risorse può essere monitorato, controllato e segnalato, fornendo trasparenza sia lato fornitore che consumatore del servizio utilizzato.