Cloud Computing
Ai giorni d’oggi, siamo spesso inondati dalla parola “cloud”. Ma che cos’è in realtà? Secondo la definizione [1] del NIST [2] (National Institute of Standards and Technology, un’agenzia americana il cui compito è quello di sviluppare standard, tecnologie e metodologie che favoriscano la produzione e il commercio), il cloud computing è un modello per abilitare l’accesso su richiesta e da qualsiasi punto a un insieme di risorse computazionali condivise e configurabili, come server, storage, applicazioni e servizi, che possono essere rese disponibili e rilasciate rapidamente con un minimo sforzo di gestione da parte del fornitore del servizio. Dunque, il cloud computing adotta il modello economico dei servizi di pubblica utilità come l’elettricità e il gas, cioè il servizio viene erogato con una tariffazione pay-per-use a grana fine e si ha l’illusione di avere a disposizione risorse infinite. In questo modo, chiunque può “affittare” un server con hardware configurabile per le proprie esigenze e pagare solo per il tempo effettivo di utilizzo, dopodiché le risorse vengono liberate e rese disponibili per altri fruitori. Le risorse offerte non sono solo hardware (anche se in realtà virtualizzato) ma ci sono diversi modelli di servizio disponibili. Partendo dal livello più basso (hardware) c’è il IaaS (Infrastructure as a Service) dove il cliente può scegliere di allocare risorse computazionali di base (CPU, SSD, ecc) sopra le quali può essere girato software a piacere e si ha il controllo sul sistema operativo e le applicazioni. Salendo di livello c’è il PaaS (Platform as a Service) dove viene facilitata la programmazione di applicazioni poiché non deve essere gestita l’infrastruttura sottostante. Infine, all’ultimo livello vengono offerti servizi SaaS (Software as a Service) dove le applicazioni di un provider sono accessibili al pubblico tramite interfacce web o applicazioni mobili. Senza saperlo, tutti i giorni usiamo intensamente servizi SaaS. Esempi più noti sono Dropbox, Gmail e tutte le app di Google, Facebook, ecc. Ovviamente partendo dal PaaS e salendo di livello, diminuisce la complessità di gestione dell’ambiente e delle applicazioni.
Per concludere, il modello del cloud computing permette a tutti di accedere a risorse a vari livelli dell’infrastruttura per costruire applicazioni in grado di scalare per milioni di utenti e pagare solo per l’effettivo utilizzo, senza investire nell’infrastruttura hardware.
[1] https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
[2] https://it.wikipedia.org/wiki/National_Institute_of_Standards_and_Technology