Final Degree Project
Gabriel Ángel Canals Salleras
Computer Engineering Degree. University of La Laguna
Introduction
This repository contains the source code for the Final Degree Project. The project's goal is to compare the deployment of a microservices infrastructure in a public cloud environment and a private cloud environment. The public cloud infrastructure is deployed using Terraform, with Google Cloud Platform (GCP) as the cloud provider. For the private cloud infrastructure, the servers provided by the University of La Laguna's oVirt IaaS service are configured manually.
Both infrastructures use Kubernetes to orchestrate containers, and a sample application is deployed in each environment to compare resource usage and costs.
Project contents
The TFG group contains the following subgroups and projects:
app: Contains the source code of the sample application deployed in both infrastructures. It consists of theapp-backendandapp-frontendprojects.deployments: Contains the Kubernetes manifests required to deploy the sample application in both infrastructures. It includes theappsubgroup for application manifests;monitoringfor Prometheus and Grafana manifests; andresourcesfor the manifests of supporting resources (MongoDB).-
Terraform-GCP-IaC: Contains the Terraform source code required to deploy the infrastructure on Google Cloud Platform (GCP), under thegkeproject. -
ci-pipelines: Contains the continuous integration and continuous deployment (CI/CD) pipelines for the sample application and the GCP infrastructure deployment. docs: Contains the project documentation, including thisindex.mdfile. Documentation is generated automatically with MkDocs and published through GitLab Pages.