One of the reasons businesses tend to go through a digital transformation is to increase their productivity. Cloud is seen as a tool that helps small businesses start their journey without much cost, and large enterprises use it as a backup to ensure availability. Cloud infrastructure deployment is becoming increasingly accessible, but with the rapid growth of different tools, platforms, and providers, managing them efficiently has brought new challenges. DevOps has played a pivotal role in simplifying many aspects of this process, encouraging better collaboration between development and operations teams, streamlining automation pipelines, and acting as the backbone for successful product delivery. However, despite the advances that DevOps has brought, several challenges remain. One key challenge is manageability - particularly in terms of communication between different teams and the manual workload that still falls on DevOps engineers, often leading to bottlenecks. Another critical aspect that has transformed infrastructure delivery is Infrastructure as Code (IaC). This paradigm shift has changed the entire ecosystem, moving from manual infrastructure management to code-based scripts that automate the entire process. IaC eliminates manual errors, provides a streamlined approach, and increases reusability across deployments. While we can create IaC templates, they still have to be used, and for large architectures and systems, it takes a lot of time to invoke these templates, let alone run, deploy, approve, document, and visualise the whole process. This thesis reports on designing and implementing a system that addresses this problem and allows everyone to reuse all the templates they need. To remove the communication between teams and provide a centralised system that deploys, visualises and controls what is created and who is responsible for it. This system helps teams request what they need by specifying variables on how they need the resource and, if they obtain the necessary approvals, how to deploy it. The system objective is to provide faster time to market, better collaboration, and a secure way to deploy what DevOps, cloud, security, network, database, and software engineers need.

One of the reasons businesses tend to go through a digital transformation is to increase their productivity. Cloud is seen as a tool that helps small businesses start their journey without much cost, and large enterprises use it as a backup to ensure availability. Cloud infrastructure deployment is becoming increasingly accessible, but with the rapid growth of different tools, platforms, and providers, managing them efficiently has brought new challenges. DevOps has played a pivotal role in simplifying many aspects of this process, encouraging better collaboration between development and operations teams, streamlining automation pipelines, and acting as the backbone for successful product delivery. However, despite the advances that DevOps has brought, several challenges remain. One key challenge is manageability - particularly in terms of communication between different teams and the manual workload that still falls on DevOps engineers, often leading to bottlenecks. Another critical aspect that has transformed infrastructure delivery is Infrastructure as Code (IaC). This paradigm shift has changed the entire ecosystem, moving from manual infrastructure management to code-based scripts that automate the entire process. IaC eliminates manual errors, provides a streamlined approach, and increases reusability across deployments. While we can create IaC templates, they still have to be used, and for large architectures and systems, it takes a lot of time to invoke these templates, let alone run, deploy, approve, document, and visualise the whole process. This thesis reports on designing and implementing a system that addresses this problem and allows everyone to reuse all the templates they need. To remove the communication between teams and provide a centralised system that deploys, visualises and controls what is created and who is responsible for it. This system helps teams request what they need by specifying variables on how they need the resource and, if they obtain the necessary approvals, how to deploy it. The system objective is to provide faster time to market, better collaboration, and a secure way to deploy what DevOps, cloud, security, network, database, and software engineers need.

Design and development of a self-service platform for automating infrastructure provisioning

NAZO, RONALDO
2023/2024

Abstract

One of the reasons businesses tend to go through a digital transformation is to increase their productivity. Cloud is seen as a tool that helps small businesses start their journey without much cost, and large enterprises use it as a backup to ensure availability. Cloud infrastructure deployment is becoming increasingly accessible, but with the rapid growth of different tools, platforms, and providers, managing them efficiently has brought new challenges. DevOps has played a pivotal role in simplifying many aspects of this process, encouraging better collaboration between development and operations teams, streamlining automation pipelines, and acting as the backbone for successful product delivery. However, despite the advances that DevOps has brought, several challenges remain. One key challenge is manageability - particularly in terms of communication between different teams and the manual workload that still falls on DevOps engineers, often leading to bottlenecks. Another critical aspect that has transformed infrastructure delivery is Infrastructure as Code (IaC). This paradigm shift has changed the entire ecosystem, moving from manual infrastructure management to code-based scripts that automate the entire process. IaC eliminates manual errors, provides a streamlined approach, and increases reusability across deployments. While we can create IaC templates, they still have to be used, and for large architectures and systems, it takes a lot of time to invoke these templates, let alone run, deploy, approve, document, and visualise the whole process. This thesis reports on designing and implementing a system that addresses this problem and allows everyone to reuse all the templates they need. To remove the communication between teams and provide a centralised system that deploys, visualises and controls what is created and who is responsible for it. This system helps teams request what they need by specifying variables on how they need the resource and, if they obtain the necessary approvals, how to deploy it. The system objective is to provide faster time to market, better collaboration, and a secure way to deploy what DevOps, cloud, security, network, database, and software engineers need.
2023
Design and development of a self-service platform for automating infrastructure provisioning
One of the reasons businesses tend to go through a digital transformation is to increase their productivity. Cloud is seen as a tool that helps small businesses start their journey without much cost, and large enterprises use it as a backup to ensure availability. Cloud infrastructure deployment is becoming increasingly accessible, but with the rapid growth of different tools, platforms, and providers, managing them efficiently has brought new challenges. DevOps has played a pivotal role in simplifying many aspects of this process, encouraging better collaboration between development and operations teams, streamlining automation pipelines, and acting as the backbone for successful product delivery. However, despite the advances that DevOps has brought, several challenges remain. One key challenge is manageability - particularly in terms of communication between different teams and the manual workload that still falls on DevOps engineers, often leading to bottlenecks. Another critical aspect that has transformed infrastructure delivery is Infrastructure as Code (IaC). This paradigm shift has changed the entire ecosystem, moving from manual infrastructure management to code-based scripts that automate the entire process. IaC eliminates manual errors, provides a streamlined approach, and increases reusability across deployments. While we can create IaC templates, they still have to be used, and for large architectures and systems, it takes a lot of time to invoke these templates, let alone run, deploy, approve, document, and visualise the whole process. This thesis reports on designing and implementing a system that addresses this problem and allows everyone to reuse all the templates they need. To remove the communication between teams and provide a centralised system that deploys, visualises and controls what is created and who is responsible for it. This system helps teams request what they need by specifying variables on how they need the resource and, if they obtain the necessary approvals, how to deploy it. The system objective is to provide faster time to market, better collaboration, and a secure way to deploy what DevOps, cloud, security, network, database, and software engineers need.
devops
IaC
terraform
selfservice platform
cloud infrastructure
File in questo prodotto:
File Dimensione Formato  
Nazo_Ronaldo.pdf

accesso riservato

Dimensione 2.45 MB
Formato Adobe PDF
2.45 MB Adobe PDF

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/77616