Cos’è il Cloud Computing?

Al giorno d’oggi è impossibile occuparsi di ICT senza imbattersi in concetti e sigle quali virtualizzazione, multitenancy, SaaS, PaaS, IaaS. Si tratta di concetti e acronimi legati a quello che, a tutti gli effetti, rappresenta uno dei paradigmi tecnologici chiave dell’odierna evoluzione dell’ICT: il Cloud Computing.

Il Cloud risponde, o almeno promette di rispondere, alla crescente esigenza di flessibilità e di rapidità di sviluppo richiesta dalle imprese e dagli altri utenti anche non professionali che necessitano di servizi e infrastrutture in grado di adattarsi tempestivamente ai mutamenti delle loro esigenze.

Molto spesso, però, questi concetti vengono utilizzati senza capirne bene il significato e, soprattutto, le loro implicazioni giuridiche. Per cercare di fare chiarezza e di sgombrare il campo dai dubbi, pubblicheremo una serie di articoli che si occuperanno di tutti gli aspetti più importanti del cloud.

Cos’è il Cloud Computing?

Per cominciare, cerchiamo di capire cosa si intende quando si parla di Cloud. In primo luogo è necessario notare come tutte le varie definizione oscillano tra quelle molto ampie e vaghe che i media generalisti e gli attori dell’offerta danno del Cloud, e quelle più propriamente tecniche che evidenziano caratteristiche tecnologiche specifiche ma che, pur essendo fattori abilitanti, non aiutano di certo a coglierne la reale portata innovativa.

Ciò premesso, secondo il NIST (National Institute for Standards and Technology), con il termine “Cloud Computing” si intende:

“un insieme di servizi ICT accessibili on-demand e in modalità self-service tramite tecnologie Internet, basati su risorse condivise, caratterizzati da rapida scalabilità delle risorse e dalla misurabilità puntuale dei livelli di performance, in modo da essere consumabili in modalità pay-per-use.”

In altre parole affinchè si possa parlare di cloud computing è necessario che:

  1. l’utente abbia la facoltà, unilaterale, di approvvigionarsi di risorse computazionali (ad esempio tempo macchina e storage di rete) automaticamente, senza che ci sia la necessità di una interazione umana con i fornitori del servizio (On demand self-service)
  2. le risorse siano accessibili via rete attraverso standard che promuovono l’uso di piattaforme client eterogenee come, ad esempio smartphone, laptop, PDA, ecc. (Broad network access)
  3. le risorse computazionali (storage, capacità elaborative, memoria, ecc.) del fornitore siano messe in comune per servire molteplici utenti, usando uno schema multi-cliente, che gestisca risorse fisiche e virtuali dinamicamente assegnate e riassegnate, in accordo con le indicazioni degli utenti. (Resource pooling)
  4. le risorse siano in grado di essere allocate rapidamente ed elasticamente, in alcuni casi automaticamente, per adattarsi, in maniera veloce, alle maggiori o minori richieste degli utenti. (Rapid elasticity)
  5. i sistemi controllino automaticamente e ottimizzino l’utilizzo delle risorse tramite strumenti di misura basati su adeguati livelli di astrazione. L’utilizzo delle risorse deve poter essere monitorato, controllato ed elaborato, sia dal fornitore che dall’utente del servizio. (Measured service).

Citando l’ENISA (Agenzia Europea sulla Sicurezza informatica) il cloud computing è, quindi, un nuovo modo di erogare servizi IT, non una nuova tecnologia.

La realizzazione di architetture Cloud flessibili ed efficienti è stata, quindi, resa possibile dalla raggiunta maturità di strumenti, meccanismi e architetture che permettono l’erogazione di servizi elastici e scalabili grazie alla condivisione dinamica delle risorse quali:

  • virtualizzazione: la creazione di una versione virtuale di una risorsa (ICT) tradizionalmente fornita fisicamente. Qualunque risorsa hardware o software può essere virtualizzata: sistemi operativi, server, memoria, spazio disco, ecc. La virtualizzazione permette l’ottimizzazione delle risorse e la capacità di far fronte a variazioni nelle esigenze di utilizzo di tali risorse.
  • multitenancy: è un principio architetturale in base a cui una singola istanza del servizio (dell’applicazione software) è attivabile senza dover replicare architetture isolate dedicate.
  • architettura orientata ai servizi (SOA – Service Oriented Architecture):  indica generalmente un’architettura software adatta a supportare l’uso di servizi Web per garantire l’interoperabilità tra diversi sistemi così da consentire l’utilizzo delle singole applicazioni come componenti del processo di business e soddisfare le richieste degli utenti in modo integrato e trasparente. Nell’ambito di un’architettura SOA è quindi sempre possibile modificare,con uno sforzo ragionevole, le modalità di interazione tra i servizi, oppure la combinazione con cui i servizi vengono utilizzati nel processo. Risulta, altresì, agevole aggiungere nuovi servizi e modificare i processi per rispondere alle concrete esigenze di business.

Nel prossimo articolo ci occuperemo dei principali modelli di servizio e di erogazione dei servizi cloud.

One thought on “Cos’è il Cloud Computing?

  1. Pingback: Cloud computing: i service model e i modelli di erogazione « CINDI

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...