What This Lab Is About
Most final year projects end at model training. The model sits in a Jupyter notebook, evaluated on a test set, and never used again. That gap — between a trained model and a deployed product — is exactly what this lab bridges.
In one day, students take a pre-trained ML model (or bring their own final year project model) and deploy it to a live URL with proper containerization, automated deployment, and monitoring.
Curriculum
Session 1 — FastAPI & Model Serving (2 hours)
- REST API design for ML: inputs, outputs, versioning
- FastAPI basics: routes, request models, response schemas
- Hands-on: Wrap your model in a FastAPI app with
/predict,/health, and/metricsendpoints
Session 2 — Containerization with Docker (2 hours)
- Dependency isolation — "it works on my machine" → solved
- Docker for ML: dealing with large model files
- Hands-on: Write an efficient
Dockerfile, build and run the container locally
Session 3 — AWS EC2 Deployment (2 hours)
- EC2 instance types: what to pick for ML serving
- Nginx as a reverse proxy
- Hands-on: Deploy to a live EC2 instance, test the live API endpoint
Session 4 — CI/CD and Monitoring (2 hours)
- Writing a GitHub Actions workflow: test → build → push → deploy
- Monitoring with Prometheus + Grafana
- Hands-on: Push a code change and watch it auto-deploy; set up a live dashboard
What Students Will Have After This Lab
A live URL (EC2) serving predictions, a GitHub repo with CI/CD, and a Grafana dashboard — enough to explain their deployment stack in any interview.
Inquiry
Ready to give your students a deployment-ready edge? Request a proposal →