Riassunto analitico
Nell'era della trasformazione digitale, l'adozione dell'architettura a microservizi è diventata sempre più diffusa in tutti i settori, promettendo una maggiore flessibilità, scalabilità e resilienza nello sviluppo del software, svolgendo un ruolo cruciale nel garantire operazioni fluide e processi produttivi efficienti. Tuttavia, i vantaggi dei microservizi comportano la necessità di garantire l'integrazione e l'affidabilità delle funzionalità di più servizi. Questa tesi di master esplora l'importanza e i vantaggi dei test di integrazione nel software a microservizi nel contesto del processo di confezionamento di Tetra Pak. Il test di integrazione è un aspetto critico dello sviluppo del software che verifica la corretta interazione e comunicazione tra i diversi componenti e servizi di un sistema. In un ambiente di microservizi, dove più servizi autonomi collaborano per fornire una funzionalità coesa, i test di integrazione diventano ancora più essenziali. Questa tesi esplora un approccio al test di integrazione che garantisce l'affidabilità e le prestazioni complessive del software, identificando i problemi di compatibilità e i guasti del sistema. Durante lo stage in Tetra Pak, sono state esplorate varie tecniche e best practice per la conduzione di test di integrazione in un ambiente di microservizi. La tesi discute l'uso di framework di test automatizzati, tecniche di containerizzazione e continuous testing applicati a pipeline di continuous integration (CI) per consentire cicli di feedback rapidi. Dopo l'implementazione del progetto di test di integrazione sul sistema DevOps di Tetra Pak, questa tesi di master esplora una tecnica per il monitoraggio delle metriche di sistema e dei servizi dell'host. Presenta un sistema di monitoraggio distribuito di prova che aiuta gli amministratori di sistema a identificare proattivamente i problemi e a intraprendere azioni correttive.
|
Abstract
In the era of the digital transformation, the adoption of microservices architecture has become increasingly prevalent across industries, bringing greater flexibility, scalability, and resilience in the software development, playing a crucial role in ensuring smooth operations and efficient production processes. However, with the benefits of microservices come the challenges of ensuring integration and reliable functionality across multiple services. This master thesis explores the importance and benefits of integration testing in microservices software within the context of Tetra Pak's packaging process.
Integration testing is a critical aspect of software development that verifies the proper interaction and communication between different components and services of a system. In a microservices environment, where multiple autonomous services collaborate to deliver a cohesive functionality, integration testing becomes even more essential. This thesis explore an approach to integration testing, ensuring the overall reliability and performance of the software, identifying compatibility issues and system failures.
During the internship at Tetra Pak, we examined various techniques and best practices to apply integration testing in a microservices environment. The thesis explores the usage of automated testing frameworks, containerization techniques, and continuous testing applied to continuous integration (CI) pipelines to enable fast feedback loops.
After the implementation of the solution for integration testing project in one of Tetra Pak's DevOps system, this master thesis will have a focus on a technique for monitoring the metrics of services and system on the host. It presents a proof of concept distributed monitoring system which helps system administrators to proactively identify issues and take corrective actions.
|