Introduction to MLOps
Only 5–10% of ML code is the model itself. MLOps is the discipline that keeps the other 90% from collapsing in production.
Only 5–10% of ML code is the model itself. MLOps is the discipline that keeps the other 90% from collapsing in production.
The engineering discipline that takes ML from notebook to reliable production system.
A data scientist trains a model that achieves 94% accuracy on a held-out test set. The model ships to production and within three months accuracy drops to 71%. No code changed. What happened?
This is the central problem MLOps addresses. ML model code accounts for only about 5–10% of the total code in a production ML system. The remaining 90% is data pipelines, feature engineering, serving infrastructure, monitoring, configuration management, and the glue that connects them. Sculley et al. called this hidden technical debt in ML systems — and unlike software debt, it is invisible until the model fails.
MLOps, short for Machine Learning Operations, applies DevOps principles — automation, reproducibility, monitoring, and continuous improvement — to the ML system lifecycle. It is not a single tool but a set of practices covering three domains:
Four failure modes account for most production ML incidents:
A production ML project moves through six stages, and the arrow from monitoring back to data is what makes it a cycle rather than a pipeline:
The diagram on the left visualises this as a circle because monitoring feeds back into data — detected drift triggers a new data collection or retraining run.
| Pillar | What it means in practice |
|---|---|
| Reproducibility | Given the same data + code + config, the same model emerges. Requires versioning all three. |
| Automation | Data validation, training, evaluation and deployment run without human intervention when triggered. |
| Continuous Training (CT) | Models retrain automatically on new data or when drift is detected. |
| Continuous Delivery (CD) | Validated models deploy to production automatically after passing tests. |
| Monitoring | Data distributions, prediction distributions, and model performance are tracked in production at all times. |
Software version control (Git) tracks code. ML systems also need to version data and models, which are binary artifacts too large for Git:
Beyond standard software debt, ML systems accumulate debt in ways that are invisible until they fail:
The diagram from Sculley et al. (2015) shows the ML model as a small box surrounded by vast supporting infrastructure — what engineers actually spend most of their time on.
Google's MLOps framework defines maturity by how much automation is in place:
| Category | Tools |
|---|---|
| Experiment tracking | MLflow, Weights & Biases, Comet ML, Neptune |
| Data versioning | DVC, LakeFS, Delta Lake |
| Pipeline orchestration | Kubeflow, Airflow, ZenML, Prefect |
| Model serving | Seldon, BentoML, FastAPI, TorchServe |
| Monitoring | Evidently, WhyLabs, Arize, Fiddler |
| Cloud platforms | SageMaker (AWS), Vertex AI (GCP), Azure ML |
The model is a small fraction of the work. MLOps is the discipline that makes the remaining 90% — data pipelines, feature engineering, serving, monitoring, and retraining — robust, reproducible, and automated. A model that degrades silently in production is not a model problem; it is an MLOps problem.
Say the answer out loud before you reveal it — recalling it is what makes it stick, and rereading it is not.
What does 'training-serving skew' mean in MLOps?
What are the three MLOps maturity levels?
What is the hidden technical debt specific to ML systems?
Why is continuous training (CT) different from continuous delivery (CD) in MLOps?
ML model code is only 5–10% of a production ML system. MLOps covers the remaining 90%: data pipelines, feature engineering, serving, monitoring, and automated retraining. A model that degrades silently in production is not a model problem — it is an MLOps problem.