polito.it
Politecnico di Torino (logo)

Sviluppo di automazioni per discovery e gestione di risorse attraverso Infrastructure as Code in ambienti multicloud = Development of automations for discovery and management of resources through Infrastructure as Code in multicloud environments

Lorenzo Buompane

Sviluppo di automazioni per discovery e gestione di risorse attraverso Infrastructure as Code in ambienti multicloud = Development of automations for discovery and management of resources through Infrastructure as Code in multicloud environments.

Rel. Riccardo Sisto. 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 (3MB) | Preview
Abstract:

Il cloud computing è una tecnologia sempre più utilizzata tra le aziende poichè ha permesso di far affidamento a servizi remoti eliminando la necessità di costruire e mantenere la propria infrastruttura IT locale. Con l’evoluzione di questa tecnologia e il nascere di nuove esigenze aziendali, molte organizzazioni sono passate ad un approccio multicloud. Il multicloud è l’utilizzo di più Cloud Service Provider per la creazione della propria infrastruttura IT, fornendo all’azienda una maggiore flessibilità, resilienza, riduzione dei costi e indipendenza da cloud provider specifici. L’utilizzo di risorse in provider differenti rende però più complessa la gestione tra esse. L’adozione dell’approccio Infrastructure as Code (IaC) ha un ruolo fondamentale in questo contesto. IaC è una pratica appartenente alla filosofia DevOps, che abilita la gestione e la configurazione delle risorse cloud, trattando l’infrastruttura come se fosse codice, anche in ambienti multicloud. Il progetto di tesi svolto si propone di affrontare il problema di gestione delle risorse in cloud service provider diversi, partendo da uno scenario in cui un’azienda possiede già un’infrastruttura basata sul cloud ma non gestisce le risorse con l’approccio Infrastructure as Code. Lo sviluppo comprende una prima fase di discovery delle risorse, seguita da un’importazione di esse in un progetto Pulumi, strumento per la gestione tramite IaC, permettendone così la gestione tramite codice. Gli script per l’individuazione delle risorse, i meccanismi di import e la definizione di blueprint per la distribuzione dell’infrastruttura sono stati sviluppati con l'ausilio di SDK per Python forniti da Microsoft Azure ed Amazon Web Services (AWS), Cloud Service Provider presi in considerazione durante il lavoro di tesi. Il progetto realizzato mira alla gestione ottimizzata ed efficace delle risorse e alla riduzione di tempo per la creazione e la configurazione di esse, riducendo inoltre l’errore umano. Si sono valutati casi d’uso diversi per soddisfare esigenze differenti: l’importazione delle risorse in un progetto Pulumi per la gestione tramite IaC, la personalizzazione del file IaC per la creazione di una nuova infrastruttura (blueprint), la preparazione di un file IaC pronto per essere eseguito in una regione differente in caso di disaster recovery. Ogni scenario è stato automatizzato tramite pipeline CI/CD in Jenkins che scaricano gli script e caricano i file generati in opportune repository Git. I risultati ottenuti in questo progetto portano ad un aumento delle prestazioni significativo. A seguito di un confronto sul tempo richiesto per IaC-izzare N risorse con la mia soluzione ed eseguire l'attività in modo manuale. È stato automatizzato il processo di acquisizione dei dati necessari all’import delle risorse, che richiede pochi secondi, rispetto ad effettuare l’accesso al portale per il recupero dei dati e la creazione del file necessario, il quale necessita di un tempo stimato di almeno qualche minuto a risorsa. Inoltre, risultati simili sono visibili nel momento in cui il blueprint IaC creato è utilizzato per il deploy di una nuova infrastruttura, evitando la configurazione manuale di ogni risorsa. Altri vantaggi garantiti sono controllo di versione, elasticità, scalabilità, automazione, riduzione dell'errore umano. Inoltre, questo progetto permette futuri studi e miglioramenti per rendere più efficiente la gestione delle risorse in esigenze aziendali specifiche, aggiornando le automazioni già create o aggiungendone altre.

Relatori: Riccardo Sisto
Anno accademico: 2023/24
Tipo di pubblicazione: Elettronica
Numero di pagine: 102
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/31071
Modifica (riservato agli operatori) Modifica (riservato agli operatori)