Lo scopo di questo lavoro è di creare un sistema di autoscale automatico di applicazioni a microservizi tramite Kubernetes, utilizzando metriche messe a disposizione dall’applicazione stessa, ampliando le possibilità e le informazioni reperibili dallo Horizontal Pod Autoscaler. Ciò è necessario per garantire un miglior utilizzo della potenza hardware limitando gli sprechi su POD poco utilizzati e concentrandoli su quelli oberati. L’applicazione può essere generica, questa soluzione può essere adattata a diversi casi e situazioni, senza l’obbligo di utilizzare un solo linguaggio specifico o un Framework dello stesso. In questo caso specifico verrà utilizzata una applicazione a microservizi REST, sviluppata in Java (Spring Boot), che si appoggia ad un database MySQL. Utilizzando questa struttura è possibile avere facilmente a disposizione una o più metriche rilevanti per l’osservazione del progetto. Le metriche esposte verranno osservate da un collettore di metriche, in questo caso è stato scelto Prometheus, che saranno in grado di fornire un ambiente visuale di facile comprensione, per poter monitorare accuratamente le metriche. Dopo una breve introduzione sulle tecnologie usate per lo sviluppo di questo progetto, verranno illustrati parti della sua implementazione.
Scalabilità Kubernetes tramite metriche personalizzate di applicazioni a microservizi
ZERBINI, SIMONE
2020/2021
Abstract
Lo scopo di questo lavoro è di creare un sistema di autoscale automatico di applicazioni a microservizi tramite Kubernetes, utilizzando metriche messe a disposizione dall’applicazione stessa, ampliando le possibilità e le informazioni reperibili dallo Horizontal Pod Autoscaler. Ciò è necessario per garantire un miglior utilizzo della potenza hardware limitando gli sprechi su POD poco utilizzati e concentrandoli su quelli oberati. L’applicazione può essere generica, questa soluzione può essere adattata a diversi casi e situazioni, senza l’obbligo di utilizzare un solo linguaggio specifico o un Framework dello stesso. In questo caso specifico verrà utilizzata una applicazione a microservizi REST, sviluppata in Java (Spring Boot), che si appoggia ad un database MySQL. Utilizzando questa struttura è possibile avere facilmente a disposizione una o più metriche rilevanti per l’osservazione del progetto. Le metriche esposte verranno osservate da un collettore di metriche, in questo caso è stato scelto Prometheus, che saranno in grado di fornire un ambiente visuale di facile comprensione, per poter monitorare accuratamente le metriche. Dopo una breve introduzione sulle tecnologie usate per lo sviluppo di questo progetto, verranno illustrati parti della sua implementazione.File | Dimensione | Formato | |
---|---|---|---|
813207_tesisimonezerbini.pdf
non disponibili
Tipologia:
Altro materiale allegato
Dimensione
1.15 MB
Formato
Adobe PDF
|
1.15 MB | Adobe PDF |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14240/81784