Creazione di Blueprint basati su Terraform

View/ Open
Author
Mesi, Lorenzo <2001>
Date
2025-07-18Data available
2025-07-24Abstract
Con questo progetto si vuol rendere possibile la creazione di risorse appartenenti ad un'infrastruttura cloud, generata all'interno del provider di OCEAN, su altri cloud provider, come AWS e Azure, tramite l'utilizzo di Terraform.
In particolare l'obiettivo consiste nell'utilizzare un template di Jinja2 che permette di generare dinamicamente un file in formato Terraform, recuperando i dati presenti all'interno di un database, rappresentante le risorse modellate all'interno di OCEAN il quale permetterà, tramite Terraform CLI, di poterle ricreare automaticamente all'interno del cloud provider specificato.
La potenzialità di questa implementazione risiede nel rendere OCEAN una piattaforma multi-cloud, fornendo quindi non solo la possibilità di creare un'infrastruttura cloud in modo rapido ed intuitivo attraverso la GUI di OCEAN, ma anche di poter fare il provisioning di questa su ulteriori cloud provider; a tale scopo è stata implementata un'interfaccia che permette all'utente di poter selezionare alcuni parametri (ad esempio il provider sul quale si vuole esportare la sessione), utilizzati per la personalizzazione del template, e conseguentemente consente l'esportazione e il download di quest'ultimo. This project aims to make possible the creation of resources belonging to a cloud infrastructure, generated within the OCEAN provider, on other cloud providers, such as AWS and Azure, through the use of Terraform.
In particular, the objective is to use a Jinja2 template that allows us to dynamically generate a file in Terraform format, retrieving the data in a database, representing the resources modeled inside OCEAN, which allows, via Terraform CLI, to automatically recreate them within the specified cloud provider.
The strength of this implementation lies on making OCEAN a multi-cloud platform, thus providing not only the possibility to create a cloud infrastructure quickly and intuitively through its GUI, but also to be able to make the provisioning of it on additional cloud providers; for this purpose, an interface has been implemented, which allows the user to select some parameters (for example the provider to which export the session), used to customize the template, and consequently allows the export and download of it.
Type
info:eu-repo/semantics/masterThesisCollections
- Laurea Magistrale [6050]