Recently, cloud computing has become the primary way of delivering and consuming on demand distributed systems and resources managed remotely by a provider. Through this paradigm, the user accesses resources with minimal management effort and interaction with the service provider, without the need to install and maintain them on premises. The main peculiarity of the cloud is the ability to leverage available computational resources by increasing or decreasing them as needed. Its elastic nature makes it suitable for distributed and scalable applications that must manage sudden and frequent changes in the workload. Specifically, horizontal scaling is defined as adding or removing processing units or physical machines to the resource pool. Many providers desire to offer this functionality automatically, so that the system monitors and optimizes allocated resources, preventing the user from resources shortages or unused resources, and ensuring good performance and cost reduction. In situations where requirements change over time, it is complex to adapt the system, thus a mechanism that automatically performs these adjustments becomes a critical service. This thesis aims to find the most suitable horizontal auto-scaling mechanism for a rapidly growing category of cloud computing, namely Database as a Service. We propose a combination of a reactive and a proactive approach, thereby balancing their limitations, i.e., lack of anticipation and inherent prediction error. Consequently, the system reacts to the current state but tries to anticipate decisions based on the predictions made by analyzing a dataset obtained from the combination of historical and predicted data. The decision to scale or not is based on analyzing and predicting the metrics that best provide information about the current state of the system, by aggregating them into a dataset due to their high correlation. Accordingly, we achieve more accurate predictions and more performant scaling executions.
Recentemente, il cloud computing è diventato il modo principale di erogare e consumare su richiesta sistemi distribuiti e risorse gestite in remoto da un fornitore. Attraverso questo paradigma, l'utente accede alle risorse con un minimo sforzo di gestione e interazione con il fornitore di servizi, senza la necessità di installarle e mantenerle in locale. La principale peculiarità del cloud è la capacità di sfruttare le risorse computazionali disponibili aumentandole o diminuendole a seconda delle necessità. La sua natura elastica lo rende adatto ad applicazioni distribuite e scalabili che devono gestire improvvisi e frequenti cambiamenti nel carico di lavoro. In particolare, lo scaling orizzontale è definito come l'aggiunta o la rimozione di unità di elaborazione o macchine fisiche al pool di risorse. Molti fornitori desiderano offrire questa funzionalità automaticamente, in modo che il sistema monitorizzi e ottimizzi le risorse assegnate, prevenendo l'utente da carenze di risorse o risorse inutilizzate, e garantendo buone prestazioni e riduzione dei costi. È complesso adattare il sistema in situazioni in cui i requisiti cambiano nel tempo, e un meccanismo che esegue automaticamente questi aggiustamenti diventa un servizio critico. Questa tesi mira a trovare il meccanismo di auto-scaling orizzontale più adatto per una categoria di cloud computing in rapida crescita, ovvero il Database as a Service. Proponiamo una combinazione di un approccio reattivo e uno proattivo, bilanciando così i loro limiti, ossia la mancanza di anticipazione e l'errore di predizione intrinseco. In tal modo, il sistema reagisce allo stato attuale ma cerca di anticipare le decisioni basate sulle previsioni fatte analizzando un set di dati ottenuti dalla combinazione di dati storici e predetti. Inoltre, la decisione di scalare o meno si basa sull'analisi e la predizione delle metriche che meglio forniscono informazioni sullo stato attuale del sistema, aggregandole in un set di dati a causa della loro alta correlazione. Di conseguenza, otteniamo predizioni più accurate ed esecuzioni di scaling più performanti.
A methodology for horizontal auto-scaling of DBaaS solutions
Freddi, Eleonora
2020/2021
Abstract
Recently, cloud computing has become the primary way of delivering and consuming on demand distributed systems and resources managed remotely by a provider. Through this paradigm, the user accesses resources with minimal management effort and interaction with the service provider, without the need to install and maintain them on premises. The main peculiarity of the cloud is the ability to leverage available computational resources by increasing or decreasing them as needed. Its elastic nature makes it suitable for distributed and scalable applications that must manage sudden and frequent changes in the workload. Specifically, horizontal scaling is defined as adding or removing processing units or physical machines to the resource pool. Many providers desire to offer this functionality automatically, so that the system monitors and optimizes allocated resources, preventing the user from resources shortages or unused resources, and ensuring good performance and cost reduction. In situations where requirements change over time, it is complex to adapt the system, thus a mechanism that automatically performs these adjustments becomes a critical service. This thesis aims to find the most suitable horizontal auto-scaling mechanism for a rapidly growing category of cloud computing, namely Database as a Service. We propose a combination of a reactive and a proactive approach, thereby balancing their limitations, i.e., lack of anticipation and inherent prediction error. Consequently, the system reacts to the current state but tries to anticipate decisions based on the predictions made by analyzing a dataset obtained from the combination of historical and predicted data. The decision to scale or not is based on analyzing and predicting the metrics that best provide information about the current state of the system, by aggregating them into a dataset due to their high correlation. Accordingly, we achieve more accurate predictions and more performant scaling executions.| File | Dimensione | Formato | |
|---|---|---|---|
|
2021_12_Freddi.pdf
non accessibile
Descrizione: Executive Summary e Testo Tesi
Dimensione
10.33 MB
Formato
Adobe PDF
|
10.33 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/182917