polito.it
Politecnico di Torino (logo)

Sviluppo di Microservizi Java su AWS EKS: Confronto tra Spring Boot e Quarkus = Development of Java Microservices on AWS EKS: A Comparison between Spring Boot and Quarkus

Samuele Giangreco

Sviluppo di Microservizi Java su AWS EKS: Confronto tra Spring Boot e Quarkus = Development of Java Microservices on AWS EKS: A Comparison between Spring Boot and Quarkus.

Rel. Fulvio Giovanni Ottavio Risso. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2024

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (1MB) | Preview
Abstract:

Nell'odierno panorama di sviluppo software, la progettazione di applicazioni distribuite come microservizi rappresenta un paradigma sempre più diffuso. In tale contesto, la scelta del framework di sviluppo assume un ruolo di primaria importanza, in quanto influenza direttamente le prestazioni, l'utilizzo delle risorse e la facilità di manutenzione del software. La presente tesi si propone di analizzare e confrontare due framework di sviluppo Java utilizzati per la creazione di microservizi: Spring Boot e Quarkus. L'obiettivo principale è quello di fornire una valutazione approfondita delle loro caratteristiche e prestazioni, al fine di supportare gli sviluppatori nella scelta del framework più adatto alle loro esigenze specifiche. Per raggiungere l'obiettivo prefissato, sono stati sviluppati tre microservizi equivalenti, implementandoli separatamente con Spring Boot e Quarkus. I microservizi sono stati progettati per sfruttare le funzionalità specifiche di ciascun framework e sono stati successivamente deployati su un cluster AWS EKS. Al fine di valutare le loro prestazioni in un contesto realistico, sono stati condotti test di carico rigorosi, simulando differenti scenari di utilizzo. L'analisi dei dati raccolti ha evidenziato interessanti differenze tra i due framework. In termini di consumo di memoria, Quarkus si è dimostrato più efficiente, con un risparmio fino a 36\% rispetto a Spring Boot. Tuttavia, per quanto concerne le prestazioni in termini di tempi di risposta e numero di richieste al secondo, in alcuni test queste sono molto vicine mentre in altri Spring Boot ha nettamente surclassato Quarkus, con un vantaggio che ha raggiunto il 290\% nell'architettura specifica utilizzata. Alla luce dei risultati ottenuti, la scelta del framework più adatto dipende dalle priorità del progetto in esame. Se l'obiettivo primario è l'ottimizzazione del consumo di memoria, Quarkus rappresenta una valida alternativa. Tuttavia, se le performance in termini di tempi di risposta e throughput sono ritenute prioritarie, Spring Boot si configura come la scelta migliore. Oltre alle prestazioni e al consumo di risorse, è importante considerare anche la facilità d'uso. Entrambi i framework offrono un buon livello di usabilità, con Spring Boot che vanta una curva di apprendimento più graduale grazie alla sua ampia diffusione e alla ricca documentazione disponibile.

Relatori: Fulvio Giovanni Ottavio Risso
Anno accademico: 2023/24
Tipo di pubblicazione: Elettronica
Numero di pagine: 91
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: Blue Reply Srl
URI: http://webthesis.biblio.polito.it/id/eprint/31125
Modifica (riservato agli operatori) Modifica (riservato agli operatori)