The MLOps Practitioner
By the end of this course, students will take a machine learning model from notebook to production — building automated CI/CD pipelines, experiment tracking, and scheduled retraining. They will serve predictions at scale using FastAPI, BentoML, Triton, and vLLM, monitor for drift before users notice, and optimize models for GPU, CPU, and edge devices. They will think and work like production ML engineers.

Aya Nasser Salama
Founder of MLOps MENA Community and Senior MLOps Engineer
Session 2 — MLOps Core
Sunday, 23 Aug · 7:00 PM Cairo
Delivered with our educational partner Zomra.
Seven objectives, each one a deployable skill
Structure ML projects professionally using Python packaging, OOP, type hints, and build production-grade REST APIs with FastAPI or Litestar — containerized with Docker and tested with pytest
Track experiments, version data, and manage model lifecycle using MLflow and DVC — and automate the full train → test → build → push pipeline with GitHub Actions and Terraform
Implement Continuous Training pipelines that automatically retrain, evaluate, and promote models to production when data drifts or performance degrades — without any human intervention
Choose the right inference pattern and serve models in production using the full serving stack: FastAPI → BentoML → TensorRT/Triton for GPU → ONNX Runtime/OpenVINO for CPU → vLLM for LLMs
Release models safely using canary rollouts, A/B testing, blue/green deployments, and shadow mode — with automatic rollback when metrics degrade
Detect data drift, concept drift, label drift, and embedding drift using PSI, KS test, Page-Hinkley, and MMD — and monitor production systems with Prometheus, Grafana, Langfuse, and RAGAS
Optimize trained models using pruning, quantization (PTQ and QAT), knowledge distillation, TensorRT, OpenVINO, and TFLite — measuring the accuracy vs latency vs size tradeoff at every step
The tools you will actually use
Most ML engineers know how to train a model. Almost none know how to ship it.
This course bridges the gap between data science and production engineering. You will take a machine learning model from a research notebook all the way to a live, monitored, auto-retrained production system — step by step, with real code and real tools used by companies like Uber, Spotify, Meta, and Netflix.
Across 5 sessions you will learn how to:
- Package ML code professionally and build REST APIs with FastAPI and Litestar — fully containerized with Docker and tested with pytest
- Track experiments with MLflow, version data with DVC, and automate your entire pipeline with GitHub Actions and Terraform
- Orchestrate retraining with Apache Airflow, serve models at scale using BentoML, Triton, and vLLM, and release safely with canary and shadow deployments
- Monitor production models for data drift, concept drift, and embedding drift using Evidently AI, Prometheus, Grafana, and Langfuse
- Optimize models for speed and size using pruning, quantization, knowledge distillation, TensorRT, and OpenVINO — and measure every tradeoff
Every session ends with a deployable project that builds on the previous one. By the end you will have a full MLOps portfolio that demonstrates real production engineering skills.
Course requirements
- Basic Python programming knowledge — you should be comfortable writing functions, classes, and working with libraries like pandas and scikit-learn
- Familiarity with machine learning concepts — you should have trained at least one model before (linear regression, classification, etc.)
- A laptop with Docker installed and at least 8GB RAM — all tools used are free and open-source
Who is this course for
- ML engineers and data scientists who can train models but struggle to deploy and maintain them in production
- Software engineers, DevOps Engineers, transitioning into MLOps or AI infrastructure roles who want a structured, hands-on path
- Technical leads and architects who need to understand the full ML production stack to make better tooling and infrastructure decisions
Course resources
Free and open. Session 1 stays on YouTube permanently.
Seven weeks, each ending in something you shipped
5 interactive live lessons · 7 weeks · Aug 15 → Oct 2 · free
Week 1
Sat 8/15 – Fri 8/21
From Notebook to Production-Ready Code
The MLOps Maturity ModelPython Packaging & Project StructureBuilding ML APIs (FastAPI vs Litestar)Serialization FormatsDocker & ContainerizationStructured LoggingTesting ML Code with pytestModule project — A fully containerized ML API with a test suite, structured logs, and a 3-command README.
Week 2
Sat 8/22 – Fri 8/28
MLOps Core — Experiment Tracking, Versioning & Automation
MLflow Experiment TrackingMLflow Model RegistryContinuous Training with MLflowData Versioning with DVCCI/CD with GitHub ActionsInfrastructure as Code with TerraformModule project — A fully automated pipeline triggered by GitHub Actions — trains, evaluates against production, promotes only if metrics improve, builds a Docker image. Every run in MLflow, every dataset version in DVC.
Week 3
Sat 8/29 – Fri 9/4
1st half of the project (Implementation + Revise)
No lecture. Start working on your chosen project and apply the principles from the first two lectures.
Week 4
Sat 9/5 – Fri 9/11
Inference, Serving & Release Strategies
Orchestration with Apache AirflowWhy Inference Patterns MatterThree Inference PatternsWhat is Model ServingCAT 1 FastAPICAT 2 BentoMLCAT 3 TensorRT + TritonCAT 4 ONNX Runtime + OpenVINOCAT 5 vLLMLoad Testing with LocustRelease StrategiesModule project — Serve the ride-duration model three ways, load test to 100 concurrent users, document the bottleneck, deploy a new version via canary rollout with automatic rollback.
Week 5
Sat 9/12 – Fri 9/18
Model Optimization — Faster, Smaller, Cheaper Without Losing Accuracy
Why Optimization MattersPruningPost-Training QuantizationQuantization-Aware TrainingKnowledge DistillationTensorRTONNX RuntimeOpenVINOEdge DeploymentLLM-Specific Quantization (AWQ, GPTQ)Benchmarking and the Optimization DecisionWeek 6
Sat 9/19 – Fri 9/25
Observability & Drift Detection — Know Before Your Users Do
Why Production Models DegradeDrift TaxonomyStatistical Detection MethodsEvidently AIPage-Hinkley and ADWINLabel and Prediction DriftEmbedding DriftPrometheus + GrafanaLangfuseRAGASCost and Token MonitoringGuardrailsWeek 7
Sat 9/26 – Fri 10/2
Final project
Ship the project end to end, present it to the community, and get the repo reviewed.
All five lessons on YouTube
Four rooms. Pick by experience, not job title.
Every student joins a WhatsApp study group matched to their current level, so the questions and the pace fit where you actually are.
MLOps Beginner
Join if you are
- Junior in Machine Learning or Data Science
- Comfortable with Python and ML fundamentals
- Still new to Linux, Git, and Docker
- No real deployment or cloud experience yet
- Want to start MLOps from zero
Focus
MLOps Intermediate
Join if you are
- Backend or software engineering experience
- Working with APIs, FastAPI or Flask
- Solid with Git and Docker
- Have deployment and CI/CD basics
- Starting with ML models and want them in production
Focus
Advanced MLOps / Cloud
Join if you are
- Real hands-on cloud experience — AWS, GCP, or Azure
- Strong with Docker and CI/CD
- Experience or working knowledge of Kubernetes
- Worked with infrastructure, Terraform, and monitoring
- Want to go deep on MLOps platforms and scalable ML systems
Focus
DevOps → MLOps
Join if you are
- Currently working as DevOps, Platform, Cloud, or SRE
- Strong in Linux, Docker, Kubernetes, CI/CD, and cloud
- The gap is not Ops — it is the Machine Learning half
- Want to transition from DevOps into MLOps
Focus
The simple rule
ML Junior
Group 1
Backend / Software Engineer
Group 2
Cloud + Kubernetes + MLOps
Group 3
DevOps / Platform Engineer
Group 4
Most important: pick your group based on your actual hands-on experience, not your job title.
The questions we get every week
Completely normal — and it means the session did its job. If everything sounded familiar by the end, it would mean we were repeating things you had already heard many times before. Feeling flooded is just the side effect of stepping out of the notebook and discovering how much bigger this field actually is. Congratulations: that feeling is progress.
Write down every new term you run into. Then pick your route: search it on YouTube — there is almost always a good crash course; read the official tutorial or documentation for that tool or concept; and bring the ones that are still unclear to the community. We also run sessions specifically on the problems you hit, and we will be explaining several of these terms in detail in an upcoming session.
The first session stays permanently on our YouTube channel. The remaining sessions are taken down 48 hours after each session, so attend live where you can.
Until the course finishes completely. The course material stays available too, and we resend it so you can study and review what was covered.
Learning MLOps alone is unnecessarily hard
Thousands of engineers across MENA are already in the room — reviewing each other’s code, sharing openings, and getting unblocked. It costs nothing.