Analisi del cloud computing di HostingSolutions.it

Un articolo per approfondire le modalità di migrazione al cloud computing prendendo in considerazione il provider italiano HostingSolutions.it. Vediamo come è strutturata la piattaforma, come funziona, e quali sono i vantaggi e gli svantaggi.

Per iniziare ad utilizzare la piattaforma cloud computing proposta da Hosting Solutions non sono necessarie particolari conoscenze tecniche. Prima di analizzare le caratteristiche e le modalità di utilizzo del cloud computing di Hosting Solutions è comunque utile introdurre almeno a grandi linee quali sono i componenti che implementano la piattaforma.  In questo modo otteniamo due vantaggi: ci facciamo un’idea delle tecnologie coinvolte e diamo un significato ai termini tecnici che entrano in ballo quando parliamo di cloud computing.

http://www.hostingsolutions.it/cloud/ 

La tecnologia principale è OpenStack, che permette di far lavorare in concerto diverse macchine fisiche per condividere risorse di rete, dispositivi di memorizzazione dei dati e unità di calcolo. Usando OpenStack possiamo mettere assieme diverse macchine fisiche, hard disk e altri dispositivi hardware, creando una infrastruttura di base sulla quale edificare i servizi cloud. OpenStack è un’infrastruttura distribuita come servizio (Iaas: Infrastructure as a Service). Esemplificando possiamo pensare ad OpenStack come ad un “meta-computer” composto da hardware distribuito sul quale possiamo installare, configurare ed appoggiare i diversi sistemi operativi cloud. OpenStack è composto da diversi componenti, tra cui

  • Nova: il componente principale che si occupa di gestire e coordinare le diverse risorse 
  • Swift: implementa i sistemi di memorizzazione orientati agli oggetti. Sistemi di questo tipo permettono di memorizzare i dati seguendo le strutture logiche, senza preoccuparsi di come vengono organizzati sul backend
  • Cinder: sistema di memorizzazione dei dati orientato ai blocchi, cioè simile ad un normale sistema di organizzazione dei dati su un disco fisso o altro file system
  • Quantum: gestore delle connessioni di rete e degli indirizzi IP
  • Horizon: un’interfaccia grafica per gestire le risorse di OpenStack. Horizon fornisce un cruscotto  (dashboard) di amministrazione, configurazione e gestione delle risorse. Chiaramente questo non è l’unico modo di accedere alle risorse virtualizzate da OpenStack, perché ogni piattaforma può accedere ad API specifiche per controllare direttamente i vari componenti di OpenStack

 

Una volta configurato OpenStack il lavoro del cloud provider è appena iniziato. Per nostra fortuna la cosa non ci riguarda, perché il cloud provider “si sporca le mani” al posto nostro, occupandosi di edificare sopra la piattaforma offerta da OpenStack. Ciò significa aggiungere livelli più astratti, ad esempio definendo delle macchine virtuali (i.e. dei sistemi operativi virtualizzati) “sopra” OpenStack. In questo modo, ad esempio, si può usare l’infrastruttura di OpenStack (IaaS) per realizzare una piattaforma cloud (PaaS, ovvero Platform as as Service). Nel caso di Hosting Solutions si è scelto di usare KVM come hypervisor per supervisionare e coordinare le diverse macchine virtuali. 

Il risultato finale (OpenStack più KVM) è un sistema cloud che permette di accedere a server dedicati virtuali, col vantaggio di lavorare come siamo abituati (ad esempio realizzando architetture con server ridondanti, come discusso qui) godendo al tempo stesso di tutti i vantaggi del cloud computing. 

http://www.hostingtalk.it/it/c_0000042N/prima-di-avviare-una-istanza-di-cloud-computing-3-fasi-da-affrontare/2

Modalità di utilizzo

Oltre ai vantaggi del cloud computing, la soluzione proposta da Hosting Solutions offre numerosi altri benefici. Il sistema implementato da OpenStack con KVM permette grande scalabilità, flessibilità e affidabilità. Queste tecnologie permettono al provider di gestire un data center composto da macchine eterogenee, eventualmente distribuite sul territorio. Nel caso specifico di Hosting Solutions ad esempio è possibile offrire il servizio sfruttando server collocati in Italia (Firenze e Roma), garantendo così un servizio made in Italy

Dal punto di vista pratico, ovvero per quanto riguarda le modalità di utilizzo, il cliente di Hosting Solutions può sfruttare la flessibilità di OpenStack soprattutto dal punto di vista delle modalità di pagamento. Questa tecnologia permette di instanziare, configurare ed avviare un server virtuale in pochi secondi. Vediamo un possibile caso d’uso, per spiegare quanto sia innovativa la proposta. Consideriamo un’azienda che abbia bisogno di sistema cloud, ma prima di avviare il progetto debba compiere una valutazione dei costi, un’analisi dei requisiti, un confronto tra le diverse tecnologie. Queste operazioni sono solitamente associate alla spesa del budget per il progetto, perché significa acquistare un pacchetto cloud per compiere le prove tecniche necessarie alla valutazione.  

Con Hosting Solutions tutto questo diventa più semplice. L’azienda può attivare un server virtuale sulla piattaforma cloud in pochi secondi e compiere subito le analisi che servono per effettuare i diversi test. Alla fine dell’esperimento la macchina virtuale viene disattivata e l’azienda pagherà ad Hosting Solutions solamente i minuti di effettivo utilizzo della piattaforma (modello Pay Per Use). Si capisce immediatamente che questa modalità di pagamento permette di ridurre drasticamente i costi di valutazione di un progetto. Sia che dobbiamo eseguire delle prove tecniche, sia che dobbiamo mettere in piedi una demo per i nostri clienti, tramite Hosting Solutions abbiamo a disposizione una soluzione professionale col vantaggio di pagare solamente l’utilizzo effettivo delle risorse cloud.  

La flessibilità di questa piattaforma può essere usata anche per aggiungere “al volo” capacità di computazione che servono per sostenere un picco temporaneo dei servizi. Supponiamo ad esempio di stare già usufruendo di una macchina virtuale esposta tramite OpenStack con KVM su Hosting Solutions, e di lanciare una campagna promozionale che preveda l’iscrizione di nuovi clienti (sul nostro sito o applicazione). Se a seguito della campagna osserviamo un picco di richieste sul server, che potrebbe rallentare l’erogazione del servizio, possiamo aggiungere al volo un altro server dedicato, pagando solamente i minuti o le ore necessari per sostenere il picco di richieste. Dopodiché, una volta conclusa l’emergenza, possiamo disattivare la macchina extra. Anche in questo caso pagheremo ad Hosting Solutions solamente i minuti effettivi di utilizzo della macchina supplementare.

Approfondimenti

Nell’introduzione teorica dell’articolo (vedi pagina 1) abbiamo spiegato come OpenStack sia di fatto uno strato software posizionato sopra il livello hardware delle macchine fisiche. Sopra tale strato l’utente può istanziare macchine virtuali dedicate alla computazione, o dispositivi di storage. Tutti questi elementi sono utilizzabili sia usando il cruscotto (o dashboard) di OpenStack, sia tramite un’applicazione proprietaria, la quale può accedere direttamente le API di OpenStack per gestire la piattaforma. 

Oltre ai vantaggi relativi alla modalità di pagamento Pay Per Use, OpenStack e KVM permettono di emulare facilmente istanze cloud di macchine Windows e Linux. Ciò permette ai diversi utenti di trovare sempre soluzioni adeguate alle proprie esigenze. Per farci un’idea di quali possono essere le possibili istanze di macchine virtuali sul cloud, possiamo dare un’occhiata qui. 

http://www.hostingsolutions.it/cloud/computing/istanze.php

Quando passiamo la pratica, ovvero quando avviamo un progetto su un’istanza cloud, è importante capire la differenza tra lo spazio su disco associato all’istanza e lo spazio di un eventuale disco di storage persistente. Nel caso di Hosting Solutions tutte le macchine cloud (cioè le istanze virtuali appoggiate su  OpenStack e KVM) dispongono di una certa quota di spazio su disco, che va pensata come il disco associato alla macchina. Tipicamente questo spazio è piuttosto limitato, ad esempio potrebbe essere pari a 10GB. Esso viene utilizzato principalmente dal sistema operativo, ovvero contiene le applicazioni, le librerie, gli application server, i dati temporanei, l’eventuale sistema di paging della memoria, ecc. Se la nostra attività richiede la gestione di un certo volume di dati possiamo utilizzare un sistema di storage persistente. Tale volume si trova all’esterno del cloud server e può essere facilmente associato alla nostra istanza. In altre parole il disco persistente viene montato come un disco esterno al cloud server: i dati delle applicazioni che girano sul server cloud possono essere memorizzati di esso. 

Il vantaggio di questa architettura va a braccetto con la modalità Pay Per Use vista a pagina precedente. Consideriamo la seguente situazione: abbiamo un’attività, ad esempio un sito Web con un’applicazione e-commerce. All’inizio, appena lanciata l’attività, possiamo scegliere una macchina virtuale (un cloud server) modesta, ad esempio una macchina dotata solamente di 1 Core CPU e 2GB di memoria RAM. A questa macchina associamo un disco di storage persistente, sul quale memorizziamo tutti i dati del catalogo, ovvero i prodotti dell’e-commerce. Questa soluzione è molto comoda se stiamo avviando un’attività senza troppe pretese, per cui non ci aspettiamo un carico di richieste troppo elevato.  Supponiamo che dopo la promozione dei nostri prodotti i clienti arrivino sul sito in numero maggiore alle aspettative. A questo punto possiamo valutare di passare su un cloud server più potente, ad esempio una macchina con  2 Core CPU e 4GB di RAM. Volendo possiamo addirittura fare solo una prova, pagando solamente i minuti necessari, e poi confrontare le performance delle due soluzioni. Durante la prova non dobbiamo far altro che installare la nostra applicazione (il sistema e-commerce) sul nuovo cloud server e e poi commutare il disco persistente dalla vecchia macchina alla nuova macchina (disattivando temporaneamente la vecchia macchina). Con questo stratagemma abbiamo cambiato la potenza del cloud server mantenendo del tutto invariata la base dati (il dispositivo di storage persistente). Inoltre abbiamo pagato solamente i minuti necessari per la prova. 

I vantaggi di questa architettura sono evidenti. Disaccoppiando il cloud server dal dispositivo di storage persistente godiamo di tutti i benefici delle architetture distribuite. Il cloud server si limita ad ospitare le applicazioni che ci servono, senza memorizzare alcun dato sensibile della nostra attività. Tutti i dati sensibili (prodotti, clienti, profili ecc.) sono memorizzati su un dispositivo persistente. Ogni volta che dobbiamo aggiornare il cloud server, o addirittura sostituirlo, possiamo farlo senza preoccuparci di importare la base dati.

Facci sapere cosa ne pensi!

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *