The emergence of cloud computing architectures in last years has changed the way applications are delivered to users. The growing number of cloud providers and companies that rely on their infrastructure is a sensible indicator of its popularity. Cloud Computing offers a cost effective solution to the problem of resource provisioning by giving developers access to a virtually infinite pool of resources in a matter of minutes. Usually cloud resources are priced in a pay per use basis so cloud users can maintain under control the costs of deploying their applications by utilizing only resources they need. The scaling capability of cloud providers allows companies to change the size of their virtual IT infrastructure according to their needs. One of the major problems faced by companies when deciding to move to a cloud environment is the loss of control on the management of the IT infrastructure. Companies are worried of outages that can not be directly kept under control. In order to cope with this problem cloud providers offer service level agreements with their users by explicitly quoting the availability that they guarantee to provide. Many cloud providers offer a service level agreement availability value of 99.95%. Real data shows that the availability that cloud users experience from their providers is much lower and in the order of 95%. Such a low value of availability can not be accepted by developers of critical application that usually require a much higher value of availability. In order to fulfill this requirement one could decide to replicate the deployment of its application on multiple clouds and use only the one that works best at a given time. In this thesis we propose a model for the high level description of availability requirements of Multi-Cloud applications and a controller able to guarantee the desired availability. In order to automatically generate the defined model, used for control, we developed an extension to the Palladio Bench modeling software. The controller monitors the state of the system at runtime, updates the model and intervenes both in the machine scaling management and in the distribution of requests within clouds. The overall goal of the control system is to minimize costs, while satisfying the availability requirements. In order to test our control approach against different usage scenarios we have implemented a simulation engine. Tests on the control system against common usage scenario shows that our controller is capable of minimizing the cost of running the application while respecting the availability requirement. It is also capable to recover quickly from different kind of cloud or network infrastructure failures.

Negli ultimi anni, l'utilizzo di architetture cloud ha cambiato il modo in cui le applicazioni sono distribuite agli utenti. Il crescente numero di fornitori di servizi cloud e di compagnie che utilizzano tali servizi è un importante indice della popolarità di questo tipo di architettura. Il cloud computing offre una soluzione efficace al problema dell'approvvigionamento di risorse IT fornendo su richiesta risorse virtualmente illimitate nel giro di alcuni minuti. Tipicamente le risorse messe a disposizione dai fornitori di servizi cloud sono offerte mediante una politica pay-as-you-go, in questo modo gli utenti di servizi cloud possono mantenere sotto controllo i costi infrastrutturali delle loro applicazioni modificandone la struttura in base alle loro esigenze. Uno dei maggiori problemi affrontati da parte delle compagnie nella scelta di utilizzare una piattaforma di questo tipo è la perdita di controllo sulla gestione dell'infrastruttura. Le aziende che utilizzano i servizi cloud sono preoccupate dalla possibilità di interruzioni di servizio che non possono essere gestite direttamente. Per far fronte a questo problema i fornitori di servizi cloud offrono accordi a livello di servizio in cui viene specificato il valore di disponibilità del sistema che si impegnano a fornire. La maggior parte dei fornitori offre un valore di availability pari al 99.95%. Dati reali mostrano che il valore di disponibilità sperimentato da gli utenti del cloud è spesso inferiore, e si attesta sul valore di 95%. Un valore così basso non può essere accettato dagli sviluppatori di applicazioni critiche che, tipicamente, richiedono una availability molto alta. Per soddisfare tale vincolo di availability si potrebbe decidere di replicare l'applicazione su diversi fornitori di servizi cloud e scegliere in ogni momento quale servizio utilizzare in base alla sua attuale availability. In questa tesi proponiamo un modello per la descirizione di requisiti di availability di applicazioni replicate su più cloud. Proponiamo inoltre un controllore capace di garantire il livello di availability richiesto dall'applicazione. Al fine di generare automaticamente una istanza di tale modello abbiamo esteso il software di modellazione Palladio Bench. Il controllore monitora lo stato del sistema durante il suo funzionamento, aggiorna il modello ed interviene sia a livello di scalabilità delle risorse cloud, sia nella distribuzione delle richieste entranti nel sistema tra più cloud. L'obiettivo del controllore è minimizzare i costi delle risorse utilizzate e, allo stesso tempo, soddifare il vincolo di availability. Al fine di verificare il comportamento del nostro approccio di controllo in diversi scenari di utilizzo abbiamo implementato uno strumento di simulazione. Le prove di controllo effettuate su diversi scenari di utilizzo mostrano che il controllore è capace di minimizzare il costo di utilizzo delle risorse cloud e rispettare il vincolo di availability dell'applicazione. Inoltre, il controllore è in grado di ripristinare il livello di servizio desiderato a fronte di diversi tipi di fallimento della piattaforma cloud o dell'infrastruttura di rete.

Model based control for multicloud applications

MIGLIERINA, MARCO;GIBILISCO, GIOVANNI PAOLO
2011/2012

Abstract

The emergence of cloud computing architectures in last years has changed the way applications are delivered to users. The growing number of cloud providers and companies that rely on their infrastructure is a sensible indicator of its popularity. Cloud Computing offers a cost effective solution to the problem of resource provisioning by giving developers access to a virtually infinite pool of resources in a matter of minutes. Usually cloud resources are priced in a pay per use basis so cloud users can maintain under control the costs of deploying their applications by utilizing only resources they need. The scaling capability of cloud providers allows companies to change the size of their virtual IT infrastructure according to their needs. One of the major problems faced by companies when deciding to move to a cloud environment is the loss of control on the management of the IT infrastructure. Companies are worried of outages that can not be directly kept under control. In order to cope with this problem cloud providers offer service level agreements with their users by explicitly quoting the availability that they guarantee to provide. Many cloud providers offer a service level agreement availability value of 99.95%. Real data shows that the availability that cloud users experience from their providers is much lower and in the order of 95%. Such a low value of availability can not be accepted by developers of critical application that usually require a much higher value of availability. In order to fulfill this requirement one could decide to replicate the deployment of its application on multiple clouds and use only the one that works best at a given time. In this thesis we propose a model for the high level description of availability requirements of Multi-Cloud applications and a controller able to guarantee the desired availability. In order to automatically generate the defined model, used for control, we developed an extension to the Palladio Bench modeling software. The controller monitors the state of the system at runtime, updates the model and intervenes both in the machine scaling management and in the distribution of requests within clouds. The overall goal of the control system is to minimize costs, while satisfying the availability requirements. In order to test our control approach against different usage scenarios we have implemented a simulation engine. Tests on the control system against common usage scenario shows that our controller is capable of minimizing the cost of running the application while respecting the availability requirement. It is also capable to recover quickly from different kind of cloud or network infrastructure failures.
ARDAGNA, DANILO
ING V - Scuola di Ingegneria dell'Informazione
20-dic-2012
2011/2012
Negli ultimi anni, l'utilizzo di architetture cloud ha cambiato il modo in cui le applicazioni sono distribuite agli utenti. Il crescente numero di fornitori di servizi cloud e di compagnie che utilizzano tali servizi è un importante indice della popolarità di questo tipo di architettura. Il cloud computing offre una soluzione efficace al problema dell'approvvigionamento di risorse IT fornendo su richiesta risorse virtualmente illimitate nel giro di alcuni minuti. Tipicamente le risorse messe a disposizione dai fornitori di servizi cloud sono offerte mediante una politica pay-as-you-go, in questo modo gli utenti di servizi cloud possono mantenere sotto controllo i costi infrastrutturali delle loro applicazioni modificandone la struttura in base alle loro esigenze. Uno dei maggiori problemi affrontati da parte delle compagnie nella scelta di utilizzare una piattaforma di questo tipo è la perdita di controllo sulla gestione dell'infrastruttura. Le aziende che utilizzano i servizi cloud sono preoccupate dalla possibilità di interruzioni di servizio che non possono essere gestite direttamente. Per far fronte a questo problema i fornitori di servizi cloud offrono accordi a livello di servizio in cui viene specificato il valore di disponibilità del sistema che si impegnano a fornire. La maggior parte dei fornitori offre un valore di availability pari al 99.95%. Dati reali mostrano che il valore di disponibilità sperimentato da gli utenti del cloud è spesso inferiore, e si attesta sul valore di 95%. Un valore così basso non può essere accettato dagli sviluppatori di applicazioni critiche che, tipicamente, richiedono una availability molto alta. Per soddisfare tale vincolo di availability si potrebbe decidere di replicare l'applicazione su diversi fornitori di servizi cloud e scegliere in ogni momento quale servizio utilizzare in base alla sua attuale availability. In questa tesi proponiamo un modello per la descirizione di requisiti di availability di applicazioni replicate su più cloud. Proponiamo inoltre un controllore capace di garantire il livello di availability richiesto dall'applicazione. Al fine di generare automaticamente una istanza di tale modello abbiamo esteso il software di modellazione Palladio Bench. Il controllore monitora lo stato del sistema durante il suo funzionamento, aggiorna il modello ed interviene sia a livello di scalabilità delle risorse cloud, sia nella distribuzione delle richieste entranti nel sistema tra più cloud. L'obiettivo del controllore è minimizzare i costi delle risorse utilizzate e, allo stesso tempo, soddifare il vincolo di availability. Al fine di verificare il comportamento del nostro approccio di controllo in diversi scenari di utilizzo abbiamo implementato uno strumento di simulazione. Le prove di controllo effettuate su diversi scenari di utilizzo mostrano che il controllore è capace di minimizzare il costo di utilizzo delle risorse cloud e rispettare il vincolo di availability dell'applicazione. Inoltre, il controllore è in grado di ripristinare il livello di servizio desiderato a fronte di diversi tipi di fallimento della piattaforma cloud o dell'infrastruttura di rete.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2012_12_Miglierina_Gibilisco.pdf

Open Access dal 04/12/2015

Descrizione: Testo della tesi
Dimensione 7.05 MB
Formato Adobe PDF
7.05 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/72372