This repository contains a small web application written in React, a web API written in Go and some Ansible playbooks for configuring the necessary infrastructure. This project was made for my Cloud Computing Security course in order to get more familiarity with hybrid-cloud setups.
The following schema gives an high-level overview of the setup.
For this project, the goal was to explore different cloud services and create a suitable setup for the requirements that we were giving. I choose to go the IaaS route, in order to have maximal control and learning experience.
I chose Digital Ocean and Azure as my two providers. The site-to-site VPN connection was setup using two VM's with Wireguard. The Digital Ocean side hosted the backend resources (PaaS database and web API), while the Azure side hosted the frontend and CI/CD resources.
I learned a lot about new technologies that I was previously unfamiliar with, such as NGINX, Ansible and Wireguard. Although this was certainly not the simplest approach for the given requirements, I was happy with the progress I made.
- Migrating from Azure DevOps to GitHub Actions
- Implementing further IaC with Terraform and Ansible
- Dockerize
