Infrastructure Engineering

Over several iterations we finalised our infrastructure and technologies.

First Go

On first being informed of our project Gabriel, who has experience with AWS, went about designing infrastructure for the web-app. At the time we thought that these models would need to be spun-up and tested on the web-app, after formulating and designing we came up with this:

We realised this would be quite a challenge, and found it would only really be possible for one model to be live at a time, otherwise we would have to figure out how to scale compute power with limited resources.

We spoke to our client and found out these docker images are to be downloaded and then spun-up by the user locally.

Back to the draw.io board

We eventually came up with this and showed our client who was very happy. We are to be provided a Linode server to host the web-app. We will use React for the front-end and Python for the back-end with FastAPI. Logins and permissions will be stored on a database (find out more here) aswell as paths to the docker images, which will be stored in a docker repo, aswell as paths to the datasets, which will be stored in a flat file store.

Final Design

Here is our finalised C4 model.