La definizione del NIST individua cinque caratteristiche principali per il cloud:
1. Self-service su richiesta: un cliente può unilateralmente richiedere nei vincoli fissati dal contratto risorse computazionali, come tempo macchina, risorse di memorizzazione o altro, quando necessario per svolgere i suoi task, senza richiedere un intervento umano dei fornitori dei servizi stessi.
2. Accesso a banda larga: le risorse sono raggiungibili tramite la rete, la cui banda deve essere adeguata all’uso specifico richiesto, e vengono accedute con meccanismi che ne permettono l'uso con piattaforme client diversificate ed eterogenee sia leggere che complesse (ad esempio telefoni cellulari, computer portatili, o computer palmari).
3. Risorse comuni: le risorse di calcolo del fornitore vengono organizzate per servire più clienti, utilizzando il modello multi-tenant, in cui le risorse fisiche e virtuali sono assegnate dinamicamente a seconda della richiesta dei clienti. Le risorse offerte sono indipendenti dalla loro locazione fisica, ovvero il cliente generalmente non ha né il controllo né la conoscenza dell'esatta locazione fisica delle risorse a lui fornite. Tuttavia, il fornitore potrebbe permettere all’utente di specificare dei vincoli sulla locazione delle risorse a lui assegnate in termini di area geografica, Paese o anche singolo data center. Esempi di risorse sono: risorse di memorizzazione, di calcolo, di rete e macchine virtuali.
4. Elasticità: le risorse possono essere fornite rapidamente ed elasticamente, ed in alcuni casi anche automaticamente, per incrementare velocemente la capacità computazionale, ed allo stesso modo possono essere rapidamente rilasciate per decrementare la capacità computazionale. Dal punto di vista dell'utente le risorse disponibili appaiono illimitate, e possono essere richieste in qualsiasi quantità ed in qualsiasi momento.
5. Servizi monitorati: i sistemi cloud controllano ed ottimizzano automaticamente l'utilizzo delle risorse, sfruttando la capacità di misurarne l'utilizzo delle risorse al livello necessario per il tipo di servizio (ad esempio servizi di memorizzazione, di calcolo, banda di comunicazione, ed account utente attivi). Il monitoraggio dell’utilizzo dei servizi è molto importante per permettere al fornitore di reagire ad eventuali picchi di richiesta e allo scopo di garantire al cliente la Qualità del Servizio promessa.