Progettare, sviluppare e mantenere applicativi è un compito arduo. Le competenze che ogni individuo di un team deve acquisire sono sempre maggiori, le figure coinvolte in un progetto sono sempre di più e le applicazioni devono soddisfare determinati requisiti in ambito di sicurezza, performance, distribuzione e scalabilità. Lo scenario appena descritto ha come principale risultato quello di alzare la barriera all’ingresso per tutte quelle aziende che vogliono migliorare la loro offerta commerciale attraverso l’utilizzo di tecnologie e software proprietari. Un aspetto molto importante da tenere in considerazione quando si progettano applicativi software, è la scalabilità delle risorse. Infatti, per far fronte ad esigenze circoscritte, ad esempio picchi di utilizzo in determinate fasce orarie del giorno, si è costretti a sovradimensionare alcune risorse. Inoltre, si rende necessario ridurre il “time-to-market”, ottimizzare l’effort degli sviluppatori e semplificare la manutenzione futura dell’applicazione. Per far fronte alle esigenze appena descritte, sono state introdotte nel mercato tecnologie di Serverless Computing con l’obiettivo di fornire un servizio altamente accessibile, scalabile, performante e relativamente automatico. Le tecnologie di Serverless Computing sono soluzioni Platform as a Service (PaaS) in cui il fornitore di servizi cloud si occupa di allocare e gestire le risorse necessarie per eseguire l’applicazione. Questo consente al team impegnato nello sviluppo di concentrarsi sul software piuttosto che sulla manutenzione dei server. Le tecnologie appena descritte riducono lo spreco di risorse aumentando o diminuendo l’allocazione a seconda del traffico. In questo modo si pagherà solamente per le risorse effettivamente utilizzate dall’applicazione. La presente tesi ha come principale obiettivo quello di approfondire le tecnologie serverless analizzando la letteratura e gli strumenti disponibili, con lo scopo di identificare vantaggi e limiti nell’utilizzo. Si vedrà, inoltre, l’applicazione pratica di queste tecnologie nella realizzazione di un applicativo cloud-native per la gestione di un concorso di opere d’arte. Il fornitore di servizi cloud scelto è Amazon con la sua piattaforma AWS.

Applicazioni Cloud-Native: vantaggi e svantaggi delle architetture serverless

MASIERO, FEDERICO
2021/2022

Abstract

Progettare, sviluppare e mantenere applicativi è un compito arduo. Le competenze che ogni individuo di un team deve acquisire sono sempre maggiori, le figure coinvolte in un progetto sono sempre di più e le applicazioni devono soddisfare determinati requisiti in ambito di sicurezza, performance, distribuzione e scalabilità. Lo scenario appena descritto ha come principale risultato quello di alzare la barriera all’ingresso per tutte quelle aziende che vogliono migliorare la loro offerta commerciale attraverso l’utilizzo di tecnologie e software proprietari. Un aspetto molto importante da tenere in considerazione quando si progettano applicativi software, è la scalabilità delle risorse. Infatti, per far fronte ad esigenze circoscritte, ad esempio picchi di utilizzo in determinate fasce orarie del giorno, si è costretti a sovradimensionare alcune risorse. Inoltre, si rende necessario ridurre il “time-to-market”, ottimizzare l’effort degli sviluppatori e semplificare la manutenzione futura dell’applicazione. Per far fronte alle esigenze appena descritte, sono state introdotte nel mercato tecnologie di Serverless Computing con l’obiettivo di fornire un servizio altamente accessibile, scalabile, performante e relativamente automatico. Le tecnologie di Serverless Computing sono soluzioni Platform as a Service (PaaS) in cui il fornitore di servizi cloud si occupa di allocare e gestire le risorse necessarie per eseguire l’applicazione. Questo consente al team impegnato nello sviluppo di concentrarsi sul software piuttosto che sulla manutenzione dei server. Le tecnologie appena descritte riducono lo spreco di risorse aumentando o diminuendo l’allocazione a seconda del traffico. In questo modo si pagherà solamente per le risorse effettivamente utilizzate dall’applicazione. La presente tesi ha come principale obiettivo quello di approfondire le tecnologie serverless analizzando la letteratura e gli strumenti disponibili, con lo scopo di identificare vantaggi e limiti nell’utilizzo. Si vedrà, inoltre, l’applicazione pratica di queste tecnologie nella realizzazione di un applicativo cloud-native per la gestione di un concorso di opere d’arte. Il fornitore di servizi cloud scelto è Amazon con la sua piattaforma AWS.
2021
Cloud-Native Applications: advantages and disadvantages of serverless architectures
Serverless
Cloud
Applications
File in questo prodotto:
File Dimensione Formato  
Masiero_Federico.pdf

accesso aperto

Dimensione 11.36 MB
Formato Adobe PDF
11.36 MB Adobe PDF Visualizza/Apri

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/36685