Learn to deploy, monitor, and maintain production ML systems through hands-on labs.
The hard truth: Building ML models is just a small portion of the work. The rest is getting them to production and keeping them there.
Research shows that most ML projects struggle to reach production. Only 53% of AI projects make it from prototype to production, while 77% of businesses cite "business adoption" as a major challenge. The gap between ML development and production deployment remains one of the biggest challenges in modern AI.
This workshop teaches you how to bring models from your laptop to a cloud-native environment. You'll learn everything needed to be production-ready - experiment tracking, containerization, Kubernetes deployment, pipeline automation, drift detection, and monitoring.
What makes this different?
- π― Production-first approach - Real deployment scenarios on OpenShift/Kubernetes
- π οΈ Industry-standard tools - MLflow, Kubeflow, Evidently, FastAPI, vLLM
- π Progressive learning - Beginner to Intermediate in structured steps
- π€ LLMOps included - Modern LLM fine-tuning and deployment practices
- π’ Enterprise-ready - Designed for Red Hat OpenShift AI environment
This workshop bridges the gap between machine learning development and production deployment. You'll gain practical experience with:
- Experiment Tracking & Model Management - Track experiments, version models, and manage the ML lifecycle with MLflow
- Containerization & Orchestration - Package models with Docker/Containerfile and deploy on Kubernetes/OpenShift
- Pipeline Automation - Build end-to-end ML pipelines with Kubeflow Pipelines
- Production Monitoring - Detect data drift and monitor model performance with Evidently AI
- Model Serving - Deploy models as REST APIs with FastAPI and vLLM
- LLMOps Fundamentals - Fine-tune LLMs with LoRA/QLoRA, version, and deploy to production
This workshop is designed for :
- Data Scientists transitioning to production ML systems
- ML Engineers looking to formalize MLOps practices
- DevOps Engineers expanding into ML operations
- Basic Python programming (comfortable with Pandas, NumPy, scikit-learn)
- Fundamental ML knowledge (training/testing splits, model evaluation)
- Git basics (clone, commit, push/pull)
- Docker fundamentals (containers, images) - helpful but not required
- Kubernetes basics - helpful but not required
- Jupyter Notebook experience - for working with lab notebooks
MLOps-Workshop-Exercises/
βββ .agents/skills/ # Agent skill definitions
β βββ ml-pipeline-workflow/
β βββ mlops-engineer/
βββ docs/ # Zensical documentation
β βββ index.md # Home page
β βββ mlops-overview.md # MLOps theory overview
β βββ workshop-overview.md # Workshop structure
β βββ environment-requirement
| | βββ environment-requirements.md
| | βββgit-cheatsheet.md
β βββ redhat-demo-environment.md
β βββ mlflow-installation.md
β βββ helm-installation.md
β βββ git-cheatsheet.md
β βββ theory/introduction.md
β βββ labs-docs/
β β βββ bike-demand-forecasting.md
β β βββ bike-demand-forecasting-pipeline.md
β β βββ wine-quality-classifier.md
β β βββ llm-instruction-tuning.md
β β βββ snippets/abbreviations.md
β β βββ tasks/ # Task 1-9 guides
β β βββ 01_beginner/bike-forecasting/ # 9 step-by-step guides
β β βββ 02_intermediate/llm-instruction-tuning/ # 6 step-by-step guides
β β βββ 03_advanced/
β β βββ kubeflow-advanced/ # 5 step-by-step guides
β β βββ ml-security-compliance/ # 4 step-by-step guides
β βββ assets/ # Images, CSS, JS
βββ environment_preparations/
β βββ helm_installtion.sh
β βββ mlflow_installation.sh
β βββ mlflow_odh_installation.sh
β βββ mlflow_route.ymal
βββ labs/
β βββ 01_beginner/
β β βββ bike_demand_forecasting/
β β β βββ notebooks/ # 6 Jupyter notebooks
β β β β βββ data/test_model/ # Test datasets
β β β βββ models/ # FastAPI + Containerfile + k8s
β β β βββ models_cors/ # CORS-enabled variant
β β βββ wine_quality_TODO/ # Placeholder for next lab
β βββ 02_intermediate/
β β βββ bike_demand_forecasting_pipeline/ # Kubeflow pipeline
β β β βββ pipeline_bike_sharing.py # 6 components
β β β βββ serve.py # FastAPI serving
β β β βββ Containerfile # ubi9/python-311
β β β βββ requirements.txt
β β β βββ test_process_dataset.py # Unit test
β β β βββ k8s/deployment.yaml # Deployment + Service
β β β βββ data/ # raw/, processed/, test_model/
β β βββ llm_instruction_tuning/
β β β βββ Dockerfile
β β β βββ environment.yml # Conda env definition
β β β βββ requirements.txt
β β β βββ README.md
β β β βββ data/ # Training datasets
β β β βββ models/ # Merged model output
β β β βββ notebooks/ # 6 Jupyter notebooks
β β β βββ scripts/ # mlflow_register.py, test_client.py, build_and_push.sh
β β β βββ k8s/ # deployment.yaml, service.yaml
β β βββ archive/bike_demand_forecasting_pipeline/ # Old 4-component version
β βββ 03_advanced/
β βββ kubeflow_advanced/
β β βββ README.md
β β βββ requirements.txt
β β βββ scripts/pipeline_helpers.py
β β βββ notebooks/ # 5 notebooks
β βββ ml_security_compliance/
β βββ README.md
β βββ requirements.txt
β βββ scripts/audit_logger.py
β βββ notebooks/ # 4 notebooks
βββ zensical.toml # Zensical site config
βββ requirements.txt # Root: zensical==0.0.43
βββ LICENSE # MIT License
βββ README.md # Project overview
βββ ROADMAP.md # Enhancement roadmap
βββ SECURITY.md # Security policy
βββ CLAUDE.md # AI assistant instructions
βββ skills-lock.json # Agent skill registry
This workshop uses industry-standard tools:
| Category | Tools |
|---|---|
| Experiment Tracking | MLflow |
| Containerization | Docker, Containerfile |
| Orchestration | Kubernetes, OpenShift, Kubeflow Pipelines |
| Monitoring | Evidently AI |
| Model Serving | FastAPI, vLLM |
| ML Frameworks | scikit-learn, Hugging Face Transformers |
| LLM Training | PEFT (LoRA/QLoRA), bitsandbytes |
| Documentation | Zensical Material Theme |
| Languages | Python, YAML |
| Resource | Description |
|---|---|
| Workshop Site | Full interactive documentation |
| MLOps Overview | MLOps theory and concepts |
| Bike Forecasting Lab | Beginner lab: 9 step-by-step guides |
| Wine Quality Classifier | Beginner lab (placeholder) |
| Bike Forecasting Pipeline | Intermediate Kubeflow pipeline lab |
| LLM Instruction Tuning | Intermediate LLMOps lab: 6 step-by-step guides |
| Kubeflow Advanced | Advanced KFP lab: 5 step-by-step guides |
| ML Security & Compliance | Advanced security lab: 4 step-by-step guides |
β Hands-On Learning - Every concept is reinforced with practical exercises
β Production-Focused - Real-world tools and deployment scenarios
β Progressive Difficulty - Structured path from basics to advanced
β Open Source - Free to use, modify, and contribute
β Industry Tools - Learn the same tools used by top tech companies
β Comprehensive Documentation - Clear guides and troubleshooting tips
This project is licensed under the MIT License - see the LICENSE file for details. Our community standards are outlined in the Code of Conduct.
This workshop leverages the excellent work from:
- MLflow - Experiment tracking and model registry
- Kubeflow - Pipeline orchestration
- Evidently AI - Model monitoring and drift detection
- Hugging Face - Transformers and PEFT libraries
- vLLM - Optimized LLM serving
- Red Hat OpenShift - Kubernetes platform
- The open-source MLOps community
Special thanks to all contributors who have helped improve this workshop!
- Author: Mohammad Bahmani
- GitHub: @MohammadB88
- Workshop Site: https://mohammadb88.github.io/MLOps-Workshop-Exercises/
For questions or issues, please open an issue on GitHub.
Ready to master MLOps? Start Learning β
