The advent of cloud computing brought a huge change in the software release cycle. It triggered an exponential shift towards paradigms where hardware could be treated just like software, i.e., accessible via API calls. Resources, such as servers or network gateways, became volatile artifacts. Deployments procedures, which could previously only be performed manually, became fully automatable. This brought an increasing number of companies to release faster and respond to market demand at an unprecedented rate. This thesis tries, first, to highlight why monitoring is an essential part of the software release cycle and why it should be considered a first class citizen, even more so in the aforementioned context. It highlights what we believe to be the most important challenges that monitoring tools developers have to address today that were not addressed by established monitoring tools that had been used for years. These challenges are addressed by our approach and runtime platform, Tower 4Clouds, a multi-cloud monitoring platform developed as part of this thesis. The solution mainly focuses on the configuring runtime monitoring since the first design phases, starting from Quality of Service (QoS) requirements definition on top of a provider independent model of the software system. The runtime platform is able to cope with the heterogeneity and the ephemerality of the resources being monitored. With Tower 4Clouds, the user is able to define the QoS requirements of a software system and configure runtime monitoring without bothering where the system will be deployed. At runtime, Tower 4Clouds is able to autonomously reconfigure itself when the system changes or is migrated to another cloud provider. In the second part, the thesis moves the focus from the challenges that monitoring tools developers have to address to the ones that monitoring tools users have to cope with. In order to understand the existing issues an empirical study was conducted in order to discover main obstacles industries are facing in monitoring their software systems. For such purpose, more than 140 practitioners from various industries were surveyed. Results showed that effective monitoring is still a difficult task, hardly affordable by small and medium enterprises with few resources and expertise. A huge number of monitoring tools, both commercial and open-source ones, proliferated in the last few years. However, no clear established solution has yet arisen. Big enterprises with high expertise such as Google, Facebook or Netflix are able to develop their own solutions to readily identify and even prevent problems or to highlight users needs, often sharing some of their tooling open-source. Enterprises with big resources and high reliability requirements, such as banks, usually pay for expensive commercial solutions. All the other companies either do not monitor, implement custom solutions or use some custom composition of monitoring tools among the hundreds of existing ones. The study, after trying to identify main challenges in the adoption of monitoring, is used to evaluate Tower 4Clouds and how it is able to address such problems. In the third part, the thesis addressed such open challenges by proposing Omnia, an approach for structured monitoring configuration and rollout based around a monitoring factory, i.e., a re-interpretation of the factory design-pattern for building and managing ad-hoc monitoring platforms. Comparing with practitioner surveys and the state of the art, Omnia shows the promise of delivering an effective solution that tackles the steep learning curve and entry costs needed to embrace cloud monitoring and monitoring-based DevOps continuous improvement.

L'avvento del cloud computing ha portato un grande cambiamento nel ciclo di rilascio del software. Ha innescato uno rapido spostamento verso paradigmi in cui l'hardware può essere tratto come software, cioè, accessibile tramite chiamate API. Risorse fisiche, come ad esempio server o gateway di rete, sono diventate artefatti volatili. Procedure di rilascio, che in precedenza potevano essere eseguite solo manualmente, sono diventate completamente automatizzabili. Questo ha portato un numero crescente di aziende a rilasciare più velocemente e a rispondere alla domanda del mercato a un ritmo senza precedenti. Questa tesi cerca, in primo luogo, di evidenziare il motivo per cui il monitoraggio è una parte essenziale del ciclo di rilascio del software. Viene evidenziato ciò che riteniamo essere le sfide più importanti che oggi deve affrontare chi sviluppa strumenti di monitoraggio. Queste sfide vengono affrontate dal nostro approccio e da Tower 4Clouds, uno strumento di monitoraggio multi-cloud sviluppato come contributo di questa tesi. La soluzione si concentra principalmente sulla configurazione del monitoraggio di runtime sin dalle prime fasi di progettazione, partendo dalla definizione della qualità del servizio desiderata (QoS) contestualmente ad un modello del sistema indipendente dal cloud provider. La piattaforma di runtime è in grado di far fronte all'eterogeneità e alla natura effimera delle risorse offerte dal cloud durante l'attività di monitarggio. Grazie a Tower 4Clouds, l'utente è in grado di definire i requisiti di QoS di un sistema software e configurare il monitoraggio di runtime senza preoccuparsi di dove il sistema verrà rilasciato. A runtime, Tower 4Clouds è in grado di riconfigurarsi in modo autonomo quando il sistema cambia o viene eseguita una migrazione ad un altro cloud provider. Nella seconda parte della tesi, l'attenzione si sposta dalle sfide che gli sviluppatori di strumenti di monitoraggio devono affrontare a quelle che gli utilizzatori di questi strumenti devono affrontare. Al fine di comprendere le problematiche esistenti, è stato condotto uno studio empirico al fine di scoprire i principali ostacoli che le aziende si trovano ad affrontare nel monitoraggio dei propri sistemi software. A tal fine, più di 140 professionisti provenienti da diversi settori sono stati intervistati. I risultati hanno mostrato che la configurazione di un sistema di monitoraggio efficace è ancora un compito difficile, soprattutto per quanto riguarda le piccole e medie imprese con posseggono minori risorse e competenze. Un gran numero di strumenti di monitoraggio, sia commerciali che open-source, sono stati rilasciati negli ultimi anni. Tuttavia, è difficile trovare una soluzione unica e ben definita. Le grandi imprese con elevate competenze come Google, Facebook o Netflix sono in grado di sviluppare le proprie soluzioni in casa, in grado di riconoscere facilmente e anche prevenire i problemi di QoS. Le imprese con grosse risorse finanziarie e alti requisiti di affidabilità, come quelle appartenenti al mondo finanziario, spesso possono permettersi di acquistare costose soluzioni di monitoraggio commerciali. Tutte le altre società, non fanno monitoraggio dei propri sistemi, oppure implementano soluzioni personalizzate, installando e componendo strumenti di monitoraggio, tra i centinaia di quelli esistenti, prelevenadoli soprattutto dal mondo open-source. I risultati di questo studio, dopo aver individuato le principali difficoltà nell'adozione di sistemi di monitoraggio, è stato utilizzato per validare Tower 4Clouds e come questo possa aiutare ad affrontare tali problemi. Nella terza e ultima parte di questa tesi, abbiamo cercato di affrontare i problemi aperti individuati proponendo Omnia, un approccio per una configurazione struttrata della propria soluzione di monitoraggio e della sua messa in esecuzione basato sul concetto di monitoring factory, una re-interpretazione del factory design-pattern per la costruzione e la gestione di piattaforme di monitoraggio ad hoc. Rispetto ai problemi sorti dalle interviste ai professionisti e all'analisi dell stato dell'arte, Omnia promette di fornire una soluzione efficate che risponde alle difficoltà di apprendimento e di entry-cost richiesti quando viene approcciato il problema del monitoraggio di sistemi software sviluppati per il cloud e soggetti alla richiesta del mercato di miglioramento continuo.

Monitoring modern distributed software applications: challenges and solutions

MIGLIERINA, MARCO

Abstract

The advent of cloud computing brought a huge change in the software release cycle. It triggered an exponential shift towards paradigms where hardware could be treated just like software, i.e., accessible via API calls. Resources, such as servers or network gateways, became volatile artifacts. Deployments procedures, which could previously only be performed manually, became fully automatable. This brought an increasing number of companies to release faster and respond to market demand at an unprecedented rate. This thesis tries, first, to highlight why monitoring is an essential part of the software release cycle and why it should be considered a first class citizen, even more so in the aforementioned context. It highlights what we believe to be the most important challenges that monitoring tools developers have to address today that were not addressed by established monitoring tools that had been used for years. These challenges are addressed by our approach and runtime platform, Tower 4Clouds, a multi-cloud monitoring platform developed as part of this thesis. The solution mainly focuses on the configuring runtime monitoring since the first design phases, starting from Quality of Service (QoS) requirements definition on top of a provider independent model of the software system. The runtime platform is able to cope with the heterogeneity and the ephemerality of the resources being monitored. With Tower 4Clouds, the user is able to define the QoS requirements of a software system and configure runtime monitoring without bothering where the system will be deployed. At runtime, Tower 4Clouds is able to autonomously reconfigure itself when the system changes or is migrated to another cloud provider. In the second part, the thesis moves the focus from the challenges that monitoring tools developers have to address to the ones that monitoring tools users have to cope with. In order to understand the existing issues an empirical study was conducted in order to discover main obstacles industries are facing in monitoring their software systems. For such purpose, more than 140 practitioners from various industries were surveyed. Results showed that effective monitoring is still a difficult task, hardly affordable by small and medium enterprises with few resources and expertise. A huge number of monitoring tools, both commercial and open-source ones, proliferated in the last few years. However, no clear established solution has yet arisen. Big enterprises with high expertise such as Google, Facebook or Netflix are able to develop their own solutions to readily identify and even prevent problems or to highlight users needs, often sharing some of their tooling open-source. Enterprises with big resources and high reliability requirements, such as banks, usually pay for expensive commercial solutions. All the other companies either do not monitor, implement custom solutions or use some custom composition of monitoring tools among the hundreds of existing ones. The study, after trying to identify main challenges in the adoption of monitoring, is used to evaluate Tower 4Clouds and how it is able to address such problems. In the third part, the thesis addressed such open challenges by proposing Omnia, an approach for structured monitoring configuration and rollout based around a monitoring factory, i.e., a re-interpretation of the factory design-pattern for building and managing ad-hoc monitoring platforms. Comparing with practitioner surveys and the state of the art, Omnia shows the promise of delivering an effective solution that tackles the steep learning curve and entry costs needed to embrace cloud monitoring and monitoring-based DevOps continuous improvement.
BONARINI, ANDREA
GHEZZI, CARLO
4-mag-2017
L'avvento del cloud computing ha portato un grande cambiamento nel ciclo di rilascio del software. Ha innescato uno rapido spostamento verso paradigmi in cui l'hardware può essere tratto come software, cioè, accessibile tramite chiamate API. Risorse fisiche, come ad esempio server o gateway di rete, sono diventate artefatti volatili. Procedure di rilascio, che in precedenza potevano essere eseguite solo manualmente, sono diventate completamente automatizzabili. Questo ha portato un numero crescente di aziende a rilasciare più velocemente e a rispondere alla domanda del mercato a un ritmo senza precedenti. Questa tesi cerca, in primo luogo, di evidenziare il motivo per cui il monitoraggio è una parte essenziale del ciclo di rilascio del software. Viene evidenziato ciò che riteniamo essere le sfide più importanti che oggi deve affrontare chi sviluppa strumenti di monitoraggio. Queste sfide vengono affrontate dal nostro approccio e da Tower 4Clouds, uno strumento di monitoraggio multi-cloud sviluppato come contributo di questa tesi. La soluzione si concentra principalmente sulla configurazione del monitoraggio di runtime sin dalle prime fasi di progettazione, partendo dalla definizione della qualità del servizio desiderata (QoS) contestualmente ad un modello del sistema indipendente dal cloud provider. La piattaforma di runtime è in grado di far fronte all'eterogeneità e alla natura effimera delle risorse offerte dal cloud durante l'attività di monitarggio. Grazie a Tower 4Clouds, l'utente è in grado di definire i requisiti di QoS di un sistema software e configurare il monitoraggio di runtime senza preoccuparsi di dove il sistema verrà rilasciato. A runtime, Tower 4Clouds è in grado di riconfigurarsi in modo autonomo quando il sistema cambia o viene eseguita una migrazione ad un altro cloud provider. Nella seconda parte della tesi, l'attenzione si sposta dalle sfide che gli sviluppatori di strumenti di monitoraggio devono affrontare a quelle che gli utilizzatori di questi strumenti devono affrontare. Al fine di comprendere le problematiche esistenti, è stato condotto uno studio empirico al fine di scoprire i principali ostacoli che le aziende si trovano ad affrontare nel monitoraggio dei propri sistemi software. A tal fine, più di 140 professionisti provenienti da diversi settori sono stati intervistati. I risultati hanno mostrato che la configurazione di un sistema di monitoraggio efficace è ancora un compito difficile, soprattutto per quanto riguarda le piccole e medie imprese con posseggono minori risorse e competenze. Un gran numero di strumenti di monitoraggio, sia commerciali che open-source, sono stati rilasciati negli ultimi anni. Tuttavia, è difficile trovare una soluzione unica e ben definita. Le grandi imprese con elevate competenze come Google, Facebook o Netflix sono in grado di sviluppare le proprie soluzioni in casa, in grado di riconoscere facilmente e anche prevenire i problemi di QoS. Le imprese con grosse risorse finanziarie e alti requisiti di affidabilità, come quelle appartenenti al mondo finanziario, spesso possono permettersi di acquistare costose soluzioni di monitoraggio commerciali. Tutte le altre società, non fanno monitoraggio dei propri sistemi, oppure implementano soluzioni personalizzate, installando e componendo strumenti di monitoraggio, tra i centinaia di quelli esistenti, prelevenadoli soprattutto dal mondo open-source. I risultati di questo studio, dopo aver individuato le principali difficoltà nell'adozione di sistemi di monitoraggio, è stato utilizzato per validare Tower 4Clouds e come questo possa aiutare ad affrontare tali problemi. Nella terza e ultima parte di questa tesi, abbiamo cercato di affrontare i problemi aperti individuati proponendo Omnia, un approccio per una configurazione struttrata della propria soluzione di monitoraggio e della sua messa in esecuzione basato sul concetto di monitoring factory, una re-interpretazione del factory design-pattern per la costruzione e la gestione di piattaforme di monitoraggio ad hoc. Rispetto ai problemi sorti dalle interviste ai professionisti e all'analisi dell stato dell'arte, Omnia promette di fornire una soluzione efficate che risponde alle difficoltà di apprendimento e di entry-cost richiesti quando viene approcciato il problema del monitoraggio di sistemi software sviluppati per il cloud e soggetti alla richiesta del mercato di miglioramento continuo.
Tesi di dottorato
File allegati
File Dimensione Formato  
thesis.pdf

Open Access dal 15/04/2018

Descrizione: Thesis text
Dimensione 4.94 MB
Formato Adobe PDF
4.94 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/133109