Skip to content

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 the app-backend and app-frontend projects.
  • deployments: Contains the Kubernetes manifests required to deploy the sample application in both infrastructures. It includes the app subgroup for application manifests; monitoring for Prometheus and Grafana manifests; and resources for 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 the gke project.

  • 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 this index.md file. Documentation is generated automatically with MkDocs and published through GitLab Pages.