AI Hints
Home›MLOps Tutorial›Reference Architectures
MLOps · Lesson 70 of 80

A Small Team Setup

One or two people, no platform.

⏱ 2 min read▶ Video at 2:52:05🎓 Free
Watch this lesson in the MLOps courseWatch on YouTube ↗Full MLOps course

Everything in this course can feel like a lot of machinery. If you are a team of one, or two, you do not need a platform. You need a few good habits, and a handful of simple tools. In this lesson, we design the smallest sensible setup, that gives you most of the benefits, with almost no operations burden.

A Small Team Setup
From the video: A Small Team Setup
  • No platform needed
  • A few good habits
  • Most of the benefit, little burden

The smallest sensible setup

Here is the smallest sensible setup. Code and pipeline definitions live in Git. Data is versioned with D V C, stored in a cheap bucket. Training runs from a pipeline, on a laptop, or a single cloud machine. Experiments are tracked in a local, or small hosted M L flow. The best model is exported, and packaged in a container. And it runs on a simple managed service, a single container service, with a health check, and basic alerts. Everything else, you add only when the pain appears.

  1. Gitcode and pipeline definitions
  2. DVC and a bucketversioned data
  3. MLflowtracked experiments, one registry
  4. Container on a managed servicesimple, with alerts
Add more only when it hurts
The smallest sensible setup
From the video: The smallest sensible setup

One Makefile to rule them all

A surprisingly effective tool for small teams is a simple make file. Each target is a command anyone can remember. Data pulls the data, and prepares it. Train depends on data, and runs the pipeline. Test runs the tests. Serve builds the container, and runs it. And monitor runs the drift check, and tells you what to do if it finds drift. New team members learn the whole workflow in a minute, and the same commands work on a laptop, and in a C I job. Simple, and boring, which is exactly right.

Makefilepython
.PHONY: data train test serve monitor

data:
	dvc pull && python src/prepare.py

train: data
	dvc repro

test:
	pytest -q

serve: train
	docker build -t churn-api . && docker run -p 8000:8000 churn-api

monitor:
	python src/drift.py || echo "drift found: run make train"

What small teams should skip

Just as important is what to skip. Skip the feature store, until features are shared by several models. Skip Kubernetes, if a managed container service is enough. Skip streaming, until freshness truly matters. Skip a custom platform, because managed services cover most needs. Spend the saved effort on what always pays off, tests, data validation, monitoring, and a quality gate. A small, well tested pipeline beats a large, untested platform.

Feature storenot until features are shared
Kubernetesnot if a managed service is enough
Streamingnot until freshness matters
Custom platformsuse managed services

Summary

Good. A small team needs Git, versioned data, a pipeline, a tracker, a container, and monitoring, and one make file to run them. Skip the heavy machinery until the pain appears. Next, the setup for a growing team, with a shared platform.

Key takeaways
  • Git, DVC, MLflow, container
  • A Makefile as the interface
  • Skip heavy machinery at first
Next up: A Growing Team Setup — sharing tools across projects