architetture

Le tecnologie abilitanti del Cloud

Virtualizzazione, multitenancy e Service Oriented Architecture sono alla base della realizzazione di architetture Cloud. Vediamole nel dettaglio.

Pubblicato il 22 Ott 2012

cloud-computing-button-183607-120906155133

In base alla definizione fornita dal NIST (National Institute for Standards and Technology), il termine “Cloud Computing” fa riferimento a 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”.

Come abbiamo spesso illustrato, il Cloud non va visto solo in termini tecnologici, ma ne va considerata la valenza strategica e organizzativa.

Limitandosi però agli aspetti strettamente tecnologici, il Cloud Computing non è altro che il compimento di un’evoluzione già da tempo in atto:

  • La transizione da sistemi centralizzati a sistemi sempre più distribuiti;
  • lo sviluppo e la diffusione delle tecnologie di rete;
  • l’affermarsi di nuovi modelli di outsourcing dell’IT (hosting, managed services e via dicendo)

Proprio in quanto si inseriscono in questi trend, le tecnologie abilitanti del Cloud Computing come la virtualizzazione e la software multitenancy si sono diffuse velocemente e sono ormai consolidate e ampiamente utilizzate nelle imprese. Vediamole più nel dettaglio, riprendendo un’analisi effettuata dall’Osservatorio Cloud & ICT as a service della School of Management del Politecnico di Milano.


Le 3 tecnologie abilitanti del Cloud Computing
La realizzazione di architetture Cloud è stata abilitata dalla maturità degli strumenti di virtualizzazione e dai meccanismi di multitenancy (che permettono l’erogazione di servizi elastici e scalabili grazie alla condivisione dinamica delle risorse), e dalla diffusione delle architetture orientate ai servizi (SOA, Service Oriented Architecture) che consentono una facile integrazione tra servizi ed applicazioni.


Virtualizzazione
Per virtualizzazione si intende la creazione di una versione virtuale di una risorsa (ICT) altrimenti fornita fisicamente.

Qualunque risorsa hardware o software può essere “virtualizzata”: sistemi operativi, server, memoria, spazio disco, sottosistemi, apparati di rete.

Con la virtualizzazione si possono ridefinire dinamicamente tanto le caratteristiche della risorsa virtuale, quanto la sua mappatura su risorse reali. La virtualizzazione permette l’ottimizzazione delle risorse e la capacità di far fronte a variazioni nelle esigenze di utilizzo di tali risorse.

L’evoluzione delle tecniche di virtualizzazione e la loro convergenza con quelle di clustering e di grid computing, che permettono di mettere a fattor comune un numero elevato di nodi fisici di elaborazione e/o di storage, ha permesso di fatto la nascita del Cloud Computing.


Multitenancy
La multitenancy è un principio architetturale per cui una singola istanza del servizio (cioè dell’applicazione software) è attivabile senza dover replicare architetture isolate dedicate. In un’architettura multitenancy, più clienti condividono la medesima applicazione sulla stessa macchina e sistema operativo, ma su dati completamente separati.

L’applicazione del principio di multitenancy può avvenire a diversi livelli dello stack IT in base a specifiche scelte architetturali. Con l’aumento dei livelli condivisi, migliorano le prestazioni del sistema, ma ne aumenta anche la complessità.


SOA
Per architettura orientata ai servizi (SOA – Service Oriented Architecture) si intende un insieme di principi e pattern di progettazione dell’architettura software che prevede la predisposizione e l’integrazione di servizi software debolmente accoppiati e riutilizzabili per la realizzazione di applicazioni diverse.

Il funzionamento è concettualmente il seguente: ogni servizio implementa un’azione “atomica”(ad esempio l’inserimento di un ordine, la consultazione di un estratto conto bancario, o la prenotazione di un viaggio) ed espone un’interfaccia con il quale può essere invocato, mentre delega ad uno strato “superiore” al singolo servizio il compito di coordinare (orchestrare) l’esecuzione dei diversi servizi sulla base del flusso dei processi di business aziendali.

Il processo di business non risulta quindi più legato alla specifica applicazione, ma diventa una componente di un framework più esteso, da modificare, riusare (o cancellare)a seconda delle necessità

Tramite un’architettura SOA si possono quindi aggiungere nuovi servizi o aggiornare e modificare le modalità con le quali i servizi interagiscono tra loro, per rispondere meglio alle specifiche esigenze di business.

Questo approccio risulta molto utile in un’architettura Cloud, all’interno della quale si possono “accendere” o “spegnere” servizi in modo relativamente semplice a seconda delle necessità di business.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati