Home 5 Personal 5 Fullstack MLOps Platform for Formula 1, 2024

Tech stack:

Kubernetes

Kubernetes

MLFlow

MLFlow

FastAPI

FastAPI

Dash

Dash

Gradio

Gradio

PyGWalker

PyGWalker

MinIO

MinIO

Prometheus

Prometheus

Grafana

Grafana

Helm

Helm

Git

Git

Python

Python

Click to Expand section and show all tech used for this project

Story

For a couple of months, I have been creating single components of a Machine Learning Platform at my work. I thought that creating a similar solution as a whole would be a good enough challenge for me for private repositories contributions. That’s when I decided to create a Fullstack MLOps Platform for Formula 1 – a coherent place, where any petrolhead can experience the true queen of motorsport.

 

Solution

I decided that the whole F1 Platform will be run with the usage of minikube Kubernetes distribution, together with Docker, Python and Git codebase. For single components, I have used a vast number of popular frameworks, used everyday in the data science and Machine Learning world, for instance: MLFlow, MinIO, Dash, PyGWalker, Prometheus, Grafana, Roboflow.

 

Platform Architecture

 

Landscape view


 

Components

1. Academy Dash Dashboard – of Driver Telemetry data (based on F1 2019 PS4 Game),
2. Classify FastAPI ML Model – for F1 Cars Image Classification of Teams, 
3. Recognize FastAPI ML Model – for Image/Video F1 Cars Recognition and Classification of Teams, 
4. Explore PyGWalker Dashboard – of F1 Historical Dataset, 
5. Monitoring & Aggregate Grafana Dashboard – based on Prometheus logged data, 
6. Models MLFlow Repository – of model runs and experiments,
7. Storage MinIo S3 – object-based storage.

     

    Project Phases

    • 1. Locally on PC,
    • 2. On-premise VPS,
    • 3. Cloud-based:
      • 1. Google Cloud Platform,
      • 2. Amazon Web Services,
      • 3. Microsoft Azure.

     

    Lesson Learned

    By contributing to this project, I have observed that making hands-on engineering is the best way of learning for me. By: doing something valuable, having fun myself, and proving Hiring Managers wrong – creating this Fullstack MLOps Platform has been a very fulfilling code-journey for me. Moreover, not only has it enabled me to give back to the community, but also has it promoted Formula One to interested parties in a way (especially: business end-users and MLOps Engineers).

          Statistics

          • 8: Components:
            • 4: Business end-users,
            • 4: MLOps Engineers.
          • 9: Languages:
            • YAML, Dockerfile, Python, Jupyter, Shell, Markdown, HTML, CSS, JavaScript,
          • 10: Code Repositories,
          • 48: Tags,
          • 167: Commits,
          • 2042: Lines removed,
          • 4651 Meaningful Lines of code (and counting!),
          • 7548: Lines added.