# Doing MLOps

Noah Gift, Pragmatic AI Labs | MLOps Meetup | Episode 80 | 1:01:22
Hosted by Demetrios Brinkmann

Source: https://www.youtube.com/watch?v=727GAyM_SJc
Channel: MLOps Community, now AAIF Live (https://www.youtube.com/@AAIFLive-x1r). Summarised by MLOps Talks.
Page: https://mlopstalks.com/talks/doing-mlops
Published: 2021-10-15
Tags: deployment, feature-engineering, feature-stores, monitoring, platform-teams

## TL;DR
- MLOps operationalizes machine learning models by combining DevOps, data operations, platform automation, and machine learning engineering.
- A production model needs continuous integration, continuous delivery, monitoring, retraining, versioning, and an audit trail.
- Teams should start with a small, reproducible project and use managed cloud platforms when they cannot provide scalable storage and compute themselves.

## Summary
Noah Gift explains MLOps as the work of getting a machine learning model into production and keeping it useful after deployment. He describes a layered system that starts with DevOps, then adds data automation, platform automation, and machine learning engineering. The system needs source control, automated tests, infrastructure as code, deployment, monitoring, model versioning, and a way to retrain when data changes. Gift argues that teams should improve the whole system together, rather than switching from model-focused work to data-focused work. He then walks through a small MLOps cookbook project with a Makefile, pinned Python dependencies, a reusable prediction library, a command-line interface, Docker, GitHub Actions, a Flask service, and AWS Lambda deployment. He recommends notebooks as companions to production code because they document the reasoning behind the model. In the questions, he discusses batch and online inference, the practical limits of self-hosting, and why experimental tools such as Kubeflow and MLflow should be kept separate from production until they prove themselves.

## Key ideas
### MLOps turns a model into a production system
[05:25](https://www.youtube.com/watch?v=727GAyM_SJc&t=325s)
Gift defines MLOps as operationalizing a model so people can use it in production. He suggests starting with a toy project, then adding continuous integration and continuous delivery. The reason to do this is practical: production machine learning can support work such as drug discovery, disease research, and vaccine development. He also points to COVID-19 as evidence that systems need to move from research into operation faster. MLOps is therefore more than training a model in a notebook. It is the process of making the model usable, deployable, and maintainable.

### DevOps is the foundation for machine learning work
[09:23](https://www.youtube.com/watch?v=727GAyM_SJc&t=563s)
Gift says many data science teams understand TensorFlow, PyTorch, calculus, and gradient descent, but still lack automated testing and deployment. He treats those software practices as a requirement. Data automation comes next, because pipelines need clean and reliable inputs. He compares this to installing a dishwasher without running water or sanitation. Platform automation follows, with managed tools such as SageMaker doing work that teams often try to build themselves. Only after these foundations are in place does the machine learning engineering part of MLOps become practical.

### MLOps is a feedback loop after deployment
[12:05](https://www.youtube.com/watch?v=727GAyM_SJc&t=725s)
A deployed model is not finished. Gift describes a loop that includes source control, build and test systems, infrastructure as code, deployment, cloud environments, and monitoring. Teams need to check both model predictions and the surrounding software infrastructure. If data changes, the system should be able to retrain the model rather than depend on a one-time process that nobody can reproduce. He also describes model data drift as a possible trigger, followed by a limited rollout, such as sending 10 percent of production traffic to the new model before moving to full traffic.

### Feature stores can support analysis as well as prediction
[13:18](https://www.youtube.com/watch?v=727GAyM_SJc&t=798s)
Gift describes a feature store as a place for cleaned, transformed, scaled, and documented data that is ready for machine learning. Numerical conversion and scaling can be done once instead of repeated by every model. Metadata can record the domain and the usefulness of features for a problem. The same prepared data can also feed business intelligence dashboards. Gift separates predictive use from exploratory use: a model may predict something accurately even when the prediction has no business value, while a dashboard can inform decisions without making a prediction.

### Managed platforms remove difficult distributed-computing work
[18:35](https://www.youtube.com/watch?v=727GAyM_SJc&t=1115s)
Real machine learning systems may need terabytes or petabytes of data, elastic storage, distributed training, and production endpoints. Gift says a notebook workflow cannot handle these needs by itself. SageMaker can provision machines, distribute work such as principal component analysis or k-means clustering, and remove the machines afterward. Once a model is trained, it still needs an endpoint and enough capacity to serve predictions. He argues that teams should focus on solving the business problem instead of rebuilding this infrastructure from scratch, and names SageMaker, Azure ML Studio, and Vertex AI as platforms that handle much of it.

### The whole system should improve together
[24:53](https://www.youtube.com/watch?v=727GAyM_SJc&t=1493s)
Gift rejects a simple choice between being model-centric and data-centric. He calls for a Kaizen-centric approach, where the organization improves the entire system through feedback. Clean data and a useful model are necessary, but they do not help if the team cannot operate and monitor software. Business involvement is also required because a technically accurate model may predict something nobody needs. Product managers and company leaders must help decide whether the problem is worth solving and whether the result affects customers, revenue, or another real outcome.

### A small reusable codebase makes deployment easier
[28:27](https://www.youtube.com/watch?v=727GAyM_SJc&t=1707s)
In his code walkthrough, Gift uses a deliberately small project with a Makefile, pinned requirements.txt dependencies, a command-line tool, and a reusable Python library. The library loads a model, reads data, retrains the model, scales values, and exposes a prediction function. The example predicts height from weight, which keeps attention on the production structure instead of model complexity. A Dockerfile captures the runtime and application code. The project also includes a Flask service, a shell script that sends a JSON request with curl, and deployment paths for container services and serverless functions.

### Production code and notebooks should explain each other
[34:47](https://www.youtube.com/watch?v=727GAyM_SJc&t=2087s)
Gift recommends keeping a Jupyter or Colab notebook beside the production project. The notebook documents the reasoning behind the model, rather than leaving other engineers with only a serialized artifact. His example has sections for ingestion, exploratory data analysis, modeling, and a conclusion. It loads a baseball dataset, checks the shape and null values, cleans column names, and examines descriptive statistics and groupings. This gives someone maintaining the deployed model a way to understand the original data and the choices that shaped the implementation. He also emphasizes reproducibility, so another person can recreate what was done.

## Notable quotes
- Noah Gift: "MLOps is really operationalizing your model, getting it into production so you can actually do something with it." (05:25)
- Noah Gift: "If you can't automate your code and you have no testing, it really doesn't matter." (09:43)
- Noah Gift: "There is no binary solution for MLOps. You should be Kaizen-centric." (24:53)
- Noah Gift: "If you want something to work, the more people know it, the larger the platform, the more buoyant it is, is probably going to be the best route." (58:46)
- Noah Gift: "If you're talented and smart, don't work for unethical people." (1:00:45)

## Tools & references mentioned
- Pragmatic AI Labs
- Practical MLOps
- Pragmatic AI
- Python for DevOps
- AWS
- Amazon SageMaker
- Azure ML Studio
- Google Vertex AI
- TensorFlow
- PyTorch
- scikit-learn
- pandas
- NumPy
- Docker
- GitHub Actions
- AWS Lambda
- AWS App Runner
- AWS Cloud9
- Jupyter
- Google Colab
- Kaggle
- DVC
- CML
- Iterative
- Kubeflow
- MLflow
- Kubernetes
- Spark
- Tesla
- Google Nest
- Andrew Ng
- Bob Dylan

## Who should watch
- You have a working model in a notebook and need a concrete path toward testing, packaging, deployment, and monitoring.
- Your team is deciding whether to build machine learning infrastructure itself or use a managed cloud platform.
- You are comparing production code with exploratory notebooks and want a small project structure that other engineers can reproduce.

## Editor's note

Noah Gift says a deployed model should retrain when data changes instead of relying on a one-time process nobody can reproduce. ZenML records each pipeline run's steps, inputs, outputs, and code version, so the data and code behind a retrained model remain traceable. Its pipeline framework lets teams turn that process into repeatable Python steps rather than rebuilding it from a notebook.

Written by the MLOps Talks editors (the ZenML team), not by the speaker.

## Related talks

- [Operationalize Machine Learning at Scale with MLOps](https://mlopstalks.com/talks/operationalize-machine-learning-at-scale-with-mlops) (Christopher Bergh, DataKitchen, 57:50)
- [MLOps: Isn't That Just DevOps?](https://mlopstalks.com/talks/mlops-isnt-that-just-devops) (Ryan Dawson, Seldon, 1:06:32)
- [Practical MLOps Part 2](https://mlopstalks.com/talks/practical-mlops-part-2) (Alfredo Deza, Author and Speaker, 1:01:38)
- [The Motivation for MLOps](https://mlopstalks.com/talks/the-motivation-for-mlops) (Steven Fines, CoreLogic, 56:42)
- [MLOps Insights](https://mlopstalks.com/talks/mlops-insights) (David Aponte-Demetrios Brinkmann-Vishnu Rachakonda, 37:47)
