series
100 Days of MLOps
A beginner-first, project-based path that takes you from "what is MLOps?" to running an end-to-end machine-learning platform on your own laptop. No computer-science background required and no cloud bills ever: every day explains the idea in plain English, builds one small working project, and runs 100% locally on macOS, Linux or Windows. You start with a clean environment and real ML, then layer on reproducibility and data/model versioning (Git + DVC), experiment tracking (MLflow), data validation and feature stores, model packaging and serving (FastAPI, Docker, BentoML), pipeline orchestration (Prefect), CI/CD for ML, Kubernetes deployment on a local cluster (kind), and finally monitoring, drift detection and automated retraining — capped by a capstone that ties all ten modules into one runnable platform.
Your progress starts here
90 published · ~14h of hands-on builds · sign in to sync progress across devices
01Foundations & Your Local MLOps Lab
What MLOps really is, a bulletproof cross-OS setup, Python environments and Git for ML, your first end-to-end model, clean project structure, and reproducibility from day one.
- D01What is MLOps, and Setting Up Your Machine on Any OS19 min read
- D02The MLOps Lifecycle & Mental Model17 min read
- D03Python Environments for ML: venv, pip & requirements.txt13 min read
- D04Git Basics for ML Projects (and a Proper .gitignore)12 min read
- D05Notebooks vs Scripts: Explore Fast, Ship Reliably13 min read
- D06Your First ML Model, End to End13 min read
- D07Saving & Loading Models with joblib10 min read
- D08Project Structure That Scales11 min read
- D09Task Automation, Cross-OS: Makefile & invoke10 min read
- D10Reproducibility 101: Same Result, Every Time10 min read
02Machine Learning You Can Operationalize
Just enough honest, practical ML to have real models worth shipping — data handling, leak-free splits, metrics, sklearn pipelines, cross-validation, tuning and packaging a training run.
- D11Working with Data: pandas for ML12 min read
- D12Train, Validation & Test Splits (and Data Leakage)11 min read
- D13Classification Models & Metrics10 min read
- D14Regression Models & Metrics: MAE, RMSE & R²10 min read
- D15Feature Engineering with scikit-learn Pipelines10 min read
- D16Cross-Validation & Honest Evaluation10 min read
- D17Hyperparameters & Tuning with GridSearchCV9 min read
- D18Handling Imbalanced & Messy Data9 min read
- D19Model Interpretability Basics9 min read
- D20Packaging a Training Run9 min read
03Reproducibility & Versioning: Data + Code
Version everything with Git and DVC — datasets, pipelines, params and models — so any result can be reproduced from a clean clone.
- D21Why Data Versioning? The Problem10 min read
- D22Intro to DVC: Version Your Data Like Code8 min read
- D23DVC Remotes: Sharing Versioned Data8 min read
- D24DVC Pipelines: Reproducible ML Workflows8 min read
- D25Reproducing & Comparing Runs with DVC8 min read
- D26Config Management with YAML & Hydra8 min read
- D27Environment Reproducibility: Lockfiles & Docker9 min read
- D28Versioned Data & Model Artifacts8 min read
- D29Project Templates: Scaffold Every Project the Right Way7 min read
- D30Capstone: A Fully Reproducible Project8 min read
04Experiment Tracking with MLflow
Never lose a result again: track params, metrics and artifacts, compare runs, autolog, tune with Optuna, and run a local tracking server.
- D31Why Experiment Tracking? The Spreadsheet of Doom9 min read
- D32MLflow Tracking Basics7 min read
- D33Comparing Runs in the MLflow UI8 min read
- D34MLflow Autologging7 min read
- D35Logging Models & Artifacts with Signatures8 min read
- D36Hyperparameter Tuning, Tracked: Optuna + MLflow8 min read
- D37MLflow Projects: Make Training Runnable Anywhere8 min read
- D38Organizing Experiments: Names, Tags & Nested Runs7 min read
- D39A Local MLflow Tracking Server8 min read
- D40Capstone: An Experimentation Workflow8 min read
05Data Quality, Validation & Feature Stores
Catch bad data before it breaks models with Pandera and Great Expectations, profile and document datasets, and serve consistent features with Feast.
- D41Why Data Validation Matters8 min read
- D42Schema Validation with Pandera8 min read
- D43Data Validation with Great Expectations8 min read
- D44Validation as a Pipeline Gate8 min read
- D45Data Profiling & Documentation8 min read
- D46Reusable Feature Pipelines9 min read
- D47Intro to Feature Stores with Feast9 min read
- D48Online vs Offline Features7 min read
- D49Preventing Training/Serving Skew8 min read
- D50Capstone: A Validated Feature Pipeline8 min read
06Packaging & Serving Models
Turn a model into a real service — FastAPI, Pydantic validation, Docker, tests, batch vs online, BentoML, load testing and ONNX.
- D51From Model to Inference API8 min read
- D52Serving a Model with FastAPI7 min read
- D53Request/Response Validation with Pydantic7 min read
- D54Dockerizing Your Model Service7 min read
- D55Testing Your Model API8 min read
- D56Batch vs Online Inference8 min read
- D57Model Serving with BentoML8 min read
- D58Latency & Load Testing with Locust7 min read
- D59Optimizing Models with ONNX8 min read
- D60Capstone: A Production-Style Model Service7 min read
07Orchestration & Automated Pipelines
Pipelines that run themselves with Prefect — retries, caching, scheduling, parameterization and an end-to-end training pipeline (plus Airflow awareness).
- D61Why Orchestration? Cron Isn't Enough8 min read
- D62Intro to Prefect10 min read
- D63Retries, Caching & Logging10 min read
- D64Scheduling Pipelines9 min read
- D65Parameterized Pipelines9 min read
- D66Complex Flows: Subflows & Mapping10 min read
- D67Observability: The Prefect UI & Run States9 min read
- D68A Peek at Airflow10 min read
- D69Notifications & Failure Handling9 min read
- D70Capstone: An Automated Retraining Pipeline11 min read
08CI/CD for Machine Learning
Ship model changes safely: test ML code and models, GitHub Actions, continuous training, CML reports, validation gates and registry promotion.
- D71Why Monitor? Models Decay10 min read
- D72Logging Predictions & Ground Truth10 min read
- D73Detecting Data Drift (PSI & KS)9 min read
- D74Concept Drift & Performance Decay10 min read
- D75Intro to Evidently8 min read
- D76Drift Dashboards & Reports9 min read
- D77Monitoring Metrics (Prometheus-style)9 min read
- D78Alerting on Drift10 min read
- D79Closing the Loop: Monitoring-Triggered Retraining10 min read
- D80Capstone: A Fully Monitored ML System10 min read
09Deploying Models on Kubernetes, Locally
Real serving infra on a local kind cluster — deploy, configure, scale, KServe/Seldon, canary and A/B, rollbacks and Argo CD GitOps.
- D81Why Kubernetes? Deploying at Scale9 min read
- D82Kubernetes Core Concepts9 min read
- D83Deploying Your Model Service8 min read
- D84Services & Networking8 min read
- D85Scaling & Autoscaling8 min read
- D86Rolling Updates & Rollbacks9 min read
- D87Config & Secrets8 min read
- D88Health Checks & Resource Management9 min read
- D89Packaging with Helm8 min read
- D90Capstone: Deploying the Model Service at Scale8 min read
10Monitoring, Drift & the Full MLOps Loop
Models rot — detect it and respond: Prometheus/Grafana, prediction logging, data and concept drift with Evidently, alerting, automated retraining, governance, and the final capstone.
11Coming up
One new day at a time — follow @syssignals to catch each release.
- D91Why Monitoring ML Is Differentsoon
- D92Service Monitoring with Prometheus & Grafanasoon
- D93Logging Predictions & Ground Truthsoon
- D94Data Drift Detection with Evidentlysoon
- D95Concept Drift & Performance Decaysoon
- D96Alerting on Drift & Degradationsoon
- D97Automated Retraining Triggerssoon
- D98Governance, Lineage & Model Cardssoon
- D99The Full MLOps Architecturesoon
- D100Capstone: Your End-to-End Local MLOps Platformsoon