I PC si possono connettere a Internet, ma nessuno (o pochi) sanno realmente cos’è, o meglio cosa c’è dietro, come mi connetto e quali sono i servizi che mi consentono di farlo. Non so dove è pubblicato il sito web che visito e non so neanche come è stato creato. Sto quindi usufruendo di un servizio che una piattaforma, qualunque essa sia, mi sta erogando. Sono un utente della rete. Qui nasce il concetto di nuvola: non so cosa c’è dietro, non mi interessa, ma lo uso. Il Cloud Computing, anche se negli ultimi anni sembra rappresentare una evoluzione, in realtà era un concetto per molti aspetti già esistente da diverso tempo, parallelamente alla nascita di Internet.Possiamo quindi definire con il termine Cloud Computing un insieme di risorse hardware e software che forniscono servizi su richiesta attraverso la rete Internet. Sebbene simile, non deve essere confuso con quest’ultima, in quanto il Cloud Computing è sostanzialmente un servizio fornito da un gestore di terze parti con la formula on demand. Sostanzialmente l’utente paga soltanto per quello che consuma, in termini di banda, di risorse, tempo di utilizzo, numero di transazioni ecc. Questo modello permette di creare soluzioni scalabili, performanti e affidabili anche con un basso investimento iniziale, senza cioè dover acquistare per lo startup l’hardware necessario e i servizi connessi, come il consumo di elettricità, la disponibilità di una connessione veloce e permanente a Internet, un IP fisso per rendere raggiungibili i propri server. Caratteristica fondamentale e imprescindibile del Cloud Computing è quella di fornire una infrastruttura di servizi assolutamente affidabile e scalabile. È infatti possibile, a seconda delle necessità, aumentare o diminuire i nodi in uso, oppure cambiare le caratteristiche dei server potenziando CPU e memoria. Tutto questo è possibile perché l’infrastruttura è basata su un sistema di virtualizzazione delle risorse. La piattaforma viene eseguita su macchine virtuali opportunamente dimensionate e in grado di fornire i servizi richiesti. Ogni volta che viene richiesto di scalare utilizzando un nuovo nodo, la piattaforma si preoccupa di replicare l’applicazione sul nuovo nodo e renderlo quindi disponibile. La nuvola cambia il modo di pensare ed ottimizzare  le tue risorse.