Image Processing is an important field in Astronomical Research and a very promising innovation aiming to identify and analyse the features of celestial bodies by retrieving preliminary inference from astronomical scientific data. Considering the rapid evolution of the observation hardware, in terms of technology, for both ground segment (e.g. ground telescopes, antennas, radars, etc.) and space segments (i.e. much more sensitive payload) the raw scientific data volume increases constantly. However, some processing and filtering is required to be applied on the raw data before it can be used. It is often the case, in the scientific community, that professionals are operating on deprecated and inefficient Information Systems to perform processing flows. In addition, the constantly increasing volume of astronomical data as well as the complexity of algorithms used in image processing highly exceeds the computational capacity of the available hardware. Thus, processing an extremely large volume of data on o singular machine, may become unfeasible for the scientific community, either by financial or time restriction. Nevertheless, Information Systems are migrating towards the cloud paradigm. The cloud provides unlimited storage space at a virtual level as well as high computational power. In order to have a system that can adapt to a cloud-based infrastructure, it must be very flexible. Furthermore, legacy systems must be enhanced from an architectural point of view. A popular approach is to modularize the entire system, by adopting a microservices based architecture. The scope of this thesis is to show, through scientific research and experimentation, that a Microservices Architecture encouraging Domain Specific Languages can be used to orchestrate processing flows of astronomical algorithms. Moreover, the deployment and execution of astronomical processing workflows in a Cloud environment shall increase the application development efficiency. Starting from a preliminary architecture, the research done in this thesis identifies a software architecture that increases the processing algorithms (or microservices) efficiency in a distributed network. This result is obtained after a trade-off between interesting Architecture Configuration, which are presented together with their advantages and disadvantages. After an experimentation campaign, the best performing solution is identified for the specific analysed system. The work is based on an iterative process, by increasing the architecture complexity, to find the right trade-off. As the architecture evolves, the solution pool branches out with different solutions. In order to select the optimal one, each found solution is evaluated against the system requirements. The scope of this thesis is to provide professional with the means of exploiting the possibilities of the Cloud, without the need of having a deep knowledge of distributed computing systems. Starting from the problem formulation, a specific set of requirements are installed, leading to a specific study case. The final system architecture is identified at the end of the iteration process, as being the best possible configuration, in order to fit the predefined requirements. The final architecture is tested and validated with a real-world scenario, using a cluster of machines connected via internet. Finally, the obtained results are discussed in order to present the solution and its performances. This thesis presents a scalable and highly flexible microservice architecture for astronomical image processing that supports distributed development and has a high reliability.

L'elaborazione delle immagini è un campo importante nella ricerca astronomica e un'innovazione molto promettente che mira a identificare e analizzare le caratteristiche dei corpi celesti recuperando inferenze preliminari dai dati scientifici astronomici. Considerando la rapida evoluzione dell'hardware di osservazione, in termini di tecnologia, sia per il segmento di terra (es. Telescopi terrestri, antenne, radar, ecc.) Che per segmenti spaziali (cioè carico utile molto più sensibile) il volume di dati scientifici grezzi aumenta costantemente. Tuttavia, è necessario applicare alcune elaborazioni e filtri ai dati grezzi prima di poterli utilizzare. È spesso il caso, nella comunità scientifica, che professionisti operino su sistemi informativi obsoleti e inefficienti per eseguire flussi di elaborazione. Inoltre, il volume in costante aumento di dati astronomici e la complessità degli algoritmi utilizzati nell'elaborazione delle immagini supera notevolmente la capacità di calcolo dell'hardware disponibile. Pertanto, l'elaborazione di un volume estremamente elevato di dati su una singola macchina può diventare irrealizzabile per la comunità scientifica, sia per limitazioni finanziarie che temporali. Tuttavia, i sistemi informativi stanno migrando verso il paradigma cloud. Il cloud offre spazio di archiviazione illimitato a livello virtuale e un'elevata potenza di calcolo. Per avere un sistema in grado di adattarsi a un'infrastruttura basata su cloud, deve essere molto flessibile. Inoltre, i sistemi legacy devono essere migliorati da un punto di vista architettonico. Un approccio diffuso consiste nel modularizzare l'intero sistema, adottando un'architettura basata su microservizi. Lo scopo di questa tesi è quello di mostrare, attraverso la ricerca scientifica e la sperimentazione, che un'architettura di microservizi che incoraggia linguaggi specifici di dominio può essere utilizzata per orchestrare flussi di elaborazione di algoritmi astronomici. Inoltre, l'implementazione e l'esecuzione di flussi di lavoro di elaborazione astronomica in un ambiente Cloud aumenterà l'efficienza dello sviluppo dell'applicazione. Partendo da un'architettura preliminare, la ricerca svolta in questa tesi individua un'architettura software che aumenta l'efficienza degli algoritmi di elaborazione (o microservizi) in una rete distribuita. Questo risultato è ottenuto dopo un trade-off tra configurazioni di architetture interessanti, che vengono presentate insieme ai loro vantaggi e svantaggi. Dopo una campagna di sperimentazione, viene individuata la soluzione più performante per lo specifico sistema analizzato. Il lavoro si basa su un processo iterativo, aumentando la complessità dell'architettura, per trovare il giusto compromesso. Insieme all’evolversi dell'architettura, il pool di soluzioni si ramifica con diverse soluzioni. Per selezionare quella ottimale, ogni soluzione trovata viene valutata rispetto ai requisiti di sistema. Lo scopo di questa tesi è fornire a professionisti gli strumenti per sfruttare le possibilità del Cloud, senza la necessità di avere una profonda conoscenza dei sistemi informatici distribuiti. Partendo dalla formulazione del problema, vengono installati uno specifico set di requisiti che portano ad uno specifico caso di studio. L'architettura del sistema finale viene identificata alla fine del processo di iterazione, come la migliore configurazione possibile, al fine di soddisfare i requisiti predefiniti. L'architettura finale viene testata e convalidata con uno scenario reale, utilizzando un cluster di macchine connesse via Internet. Infine, vengono discussi i risultati ottenuti per presentare la soluzione e le sue prestazioni. Questa tesi presenta un'architettura di microservizi scalabile e altamente flessibile per l'elaborazione di immagini astronomiche che supporta lo sviluppo distribuito e ha un'elevata affidabilità.

Microservices-based architecture for astronomical image processing systems

Zotti, Sabrina
2019/2020

Abstract

Image Processing is an important field in Astronomical Research and a very promising innovation aiming to identify and analyse the features of celestial bodies by retrieving preliminary inference from astronomical scientific data. Considering the rapid evolution of the observation hardware, in terms of technology, for both ground segment (e.g. ground telescopes, antennas, radars, etc.) and space segments (i.e. much more sensitive payload) the raw scientific data volume increases constantly. However, some processing and filtering is required to be applied on the raw data before it can be used. It is often the case, in the scientific community, that professionals are operating on deprecated and inefficient Information Systems to perform processing flows. In addition, the constantly increasing volume of astronomical data as well as the complexity of algorithms used in image processing highly exceeds the computational capacity of the available hardware. Thus, processing an extremely large volume of data on o singular machine, may become unfeasible for the scientific community, either by financial or time restriction. Nevertheless, Information Systems are migrating towards the cloud paradigm. The cloud provides unlimited storage space at a virtual level as well as high computational power. In order to have a system that can adapt to a cloud-based infrastructure, it must be very flexible. Furthermore, legacy systems must be enhanced from an architectural point of view. A popular approach is to modularize the entire system, by adopting a microservices based architecture. The scope of this thesis is to show, through scientific research and experimentation, that a Microservices Architecture encouraging Domain Specific Languages can be used to orchestrate processing flows of astronomical algorithms. Moreover, the deployment and execution of astronomical processing workflows in a Cloud environment shall increase the application development efficiency. Starting from a preliminary architecture, the research done in this thesis identifies a software architecture that increases the processing algorithms (or microservices) efficiency in a distributed network. This result is obtained after a trade-off between interesting Architecture Configuration, which are presented together with their advantages and disadvantages. After an experimentation campaign, the best performing solution is identified for the specific analysed system. The work is based on an iterative process, by increasing the architecture complexity, to find the right trade-off. As the architecture evolves, the solution pool branches out with different solutions. In order to select the optimal one, each found solution is evaluated against the system requirements. The scope of this thesis is to provide professional with the means of exploiting the possibilities of the Cloud, without the need of having a deep knowledge of distributed computing systems. Starting from the problem formulation, a specific set of requirements are installed, leading to a specific study case. The final system architecture is identified at the end of the iteration process, as being the best possible configuration, in order to fit the predefined requirements. The final architecture is tested and validated with a real-world scenario, using a cluster of machines connected via internet. Finally, the obtained results are discussed in order to present the solution and its performances. This thesis presents a scalable and highly flexible microservice architecture for astronomical image processing that supports distributed development and has a high reliability.
BERNASCONI, GIANCARLO
CHIAPPA, FABIO
MAGLIOZZI, DANIELE
ING - Scuola di Ingegneria Industriale e dell'Informazione
2-ott-2020
2019/2020
L'elaborazione delle immagini è un campo importante nella ricerca astronomica e un'innovazione molto promettente che mira a identificare e analizzare le caratteristiche dei corpi celesti recuperando inferenze preliminari dai dati scientifici astronomici. Considerando la rapida evoluzione dell'hardware di osservazione, in termini di tecnologia, sia per il segmento di terra (es. Telescopi terrestri, antenne, radar, ecc.) Che per segmenti spaziali (cioè carico utile molto più sensibile) il volume di dati scientifici grezzi aumenta costantemente. Tuttavia, è necessario applicare alcune elaborazioni e filtri ai dati grezzi prima di poterli utilizzare. È spesso il caso, nella comunità scientifica, che professionisti operino su sistemi informativi obsoleti e inefficienti per eseguire flussi di elaborazione. Inoltre, il volume in costante aumento di dati astronomici e la complessità degli algoritmi utilizzati nell'elaborazione delle immagini supera notevolmente la capacità di calcolo dell'hardware disponibile. Pertanto, l'elaborazione di un volume estremamente elevato di dati su una singola macchina può diventare irrealizzabile per la comunità scientifica, sia per limitazioni finanziarie che temporali. Tuttavia, i sistemi informativi stanno migrando verso il paradigma cloud. Il cloud offre spazio di archiviazione illimitato a livello virtuale e un'elevata potenza di calcolo. Per avere un sistema in grado di adattarsi a un'infrastruttura basata su cloud, deve essere molto flessibile. Inoltre, i sistemi legacy devono essere migliorati da un punto di vista architettonico. Un approccio diffuso consiste nel modularizzare l'intero sistema, adottando un'architettura basata su microservizi. Lo scopo di questa tesi è quello di mostrare, attraverso la ricerca scientifica e la sperimentazione, che un'architettura di microservizi che incoraggia linguaggi specifici di dominio può essere utilizzata per orchestrare flussi di elaborazione di algoritmi astronomici. Inoltre, l'implementazione e l'esecuzione di flussi di lavoro di elaborazione astronomica in un ambiente Cloud aumenterà l'efficienza dello sviluppo dell'applicazione. Partendo da un'architettura preliminare, la ricerca svolta in questa tesi individua un'architettura software che aumenta l'efficienza degli algoritmi di elaborazione (o microservizi) in una rete distribuita. Questo risultato è ottenuto dopo un trade-off tra configurazioni di architetture interessanti, che vengono presentate insieme ai loro vantaggi e svantaggi. Dopo una campagna di sperimentazione, viene individuata la soluzione più performante per lo specifico sistema analizzato. Il lavoro si basa su un processo iterativo, aumentando la complessità dell'architettura, per trovare il giusto compromesso. Insieme all’evolversi dell'architettura, il pool di soluzioni si ramifica con diverse soluzioni. Per selezionare quella ottimale, ogni soluzione trovata viene valutata rispetto ai requisiti di sistema. Lo scopo di questa tesi è fornire a professionisti gli strumenti per sfruttare le possibilità del Cloud, senza la necessità di avere una profonda conoscenza dei sistemi informatici distribuiti. Partendo dalla formulazione del problema, vengono installati uno specifico set di requisiti che portano ad uno specifico caso di studio. L'architettura del sistema finale viene identificata alla fine del processo di iterazione, come la migliore configurazione possibile, al fine di soddisfare i requisiti predefiniti. L'architettura finale viene testata e convalidata con uno scenario reale, utilizzando un cluster di macchine connesse via Internet. Infine, vengono discussi i risultati ottenuti per presentare la soluzione e le sue prestazioni. Questa tesi presenta un'architettura di microservizi scalabile e altamente flessibile per l'elaborazione di immagini astronomiche che supporta lo sviluppo distribuito e ha un'elevata affidabilità.
File allegati
File Dimensione Formato  
2020_10_Zotti.pdf

non accessibile

Descrizione: Thesis Main Document
Dimensione 1.5 MB
Formato Adobe PDF
1.5 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/169713