Live demoDevOps & MLOps
Student Result Prediction (MLOps)
ML model shipped through CI, a quality gate, Docker, GHCR and Render.
Problem
Practise taking a machine learning model from training to a tested, containerised and deployed service.
Solution
A small prediction model with a GitHub Actions pipeline that trains, tests, gates on model quality, builds a Docker image, publishes it to GHCR and deploys it to Render.
Architecture
- Python training script and Flask prediction API
- GitHub Actions: tests, ML quality gate and artifact upload
- Docker image with a health check
- GitHub Container Registry tags: latest, v1 and commit SHA
- Deployed from GHCR to Render
My contribution
Built the model, tests, workflows, Dockerfile and deployment.
Implemented
- Automated tests for the app and ML pipeline
- ML quality gate in the CI pipeline
- Preserved ML artifacts and a release package
- Docker health-check failure and recovery demonstration
- Automated GHCR publishing
- Deployed API with a /health endpoint (free Render instance, so the first request can be slow)
Results
- Successful GitHub Actions runs for each practical, linked in the DevOps & MLOps journey
- Public container image on GHCR