# MLOps Tools in 2026: 7 Platforms Compared, and the Stack We'd Pick

URL: https://www.devopsness.com/blog/mlops-tools-2026
Author: Kiril Urbonas
Published: 2026-10-31
Updated: 2026-10-31
Categories: AI
Tags: MLOps, Mlflow, AI Infrastructure, Kubernetes, Cloud, Machine Learning

Summary: MLflow, Kubeflow, Weights & Biases, SageMaker, Vertex AI, ZenML and Metaflow compared on tracking, registry, pipelines, serving, self-hosting and pricing, with a default stack for each team size.

---
# MLOps Tools in 2026: 7 Platforms Compared, and the Stack We'd Pick

Start with MLflow for experiment tracking and the model registry, then add one orchestrator when retraining must run without a human. MLflow is free and runs anywhere; SageMaker's managed MLflow costs $0.60 an hour for a Small tracking server as of October 2026. Buy a full platform only when your data already lives in that cloud.

> [!VERIFIED]
> MLflow 3.17.2, Kubeflow Community Distribution 26.03.1, KFP SDK 2.18.0, ZenML 0.98.0, Metaflow 2.19.40, wandb SDK 0.31.0, against the MLflow and Kubeflow docs, PyPI release history, and the SageMaker AI, Google Cloud, ZenML and CoreWeave (W&B) pricing pages. Checked October 2026.

The work splits into five jobs that rarely need the same tool: tracking, versioning the models worth shipping, pipelines, serving, and production monitoring. Pick per job and the decision gets small.

## The seven tools on one table

| Tool | Tracking | Registry | Pipelines | Serving | Self-host | Pricing model (Oct 2026) |
|---|---|---|---|---|---|---|
| MLflow | Yes, the reference | Yes, with aliases | No (use an orchestrator) | Basic REST serving | Yes, open source | Free; managed on SageMaker from $0.60/hour |
| Kubeflow | Via Pipelines metadata | Under Kubeflow Hub | Yes (KFP) | Via KServe (ecosystem project) | Yes, Kubernetes only | Free; you pay for the cluster |
| Weights & Biases | Yes, best UI | Yes | No | No | Enterprise "private hosting" | Free up to 5 seats; Pro from $60/month |
| SageMaker AI | Managed MLflow | Yes | Yes | Yes, real-time and serverless | No, AWS only | Per instance-hour, plus MLflow server hours |
| Vertex AI | Experiments, TensorBoard | Yes, no charge | Yes, $0.03 per run | Yes, endpoints | No, Google Cloud only | Per run and per node-hour |
| ZenML | Through integrations | Model control plane | Yes | Through integrations | Yes, Apache 2.0 | Free OSS; hosted Starter $39/month |
| Metaflow | Artifacts per run | No | Yes | No | Yes, Apache 2.0 | Free; Outerbounds sells managed |

Two things changed recently. Google's Vertex AI pricing URL now redirects to Gemini Enterprise Agent Platform pricing, which says costs match the products it supersedes. And the W&B pricing page now redirects to its owner, CoreWeave.

## What each one is actually good at

**MLflow** is the default for a reason. Tracking, the Model Registry, evaluation and tracing for LLM and agent apps all live in one Linux Foundation project. Its weak spot is that it does not run anything on a schedule, and its built-in serving is a starting point, not a production platform. The split between tracking and registry trips people up; we covered it in [model registry vs MLflow tracking](/blog/mlops-model-registry-vs-mlflow-tracking).

**Kubeflow** is a set of Kubernetes projects: Pipelines, Trainer, Katib, Notebooks, the Spark Operator and Hub. It is powerful and it is a platform you operate. The 26.03.1 community distribution ran its CI on Kubernetes 1.36. KServe now sits in the Kubeflow ecosystem rather than the core subproject list; the community distribution manifests still bundle it, but it follows its own release cycle.

**Weights & Biases** has the best experiment UI on the market and the strongest collaboration features. It does not orchestrate or serve. The free tier includes 5 GB of storage a month; Pro covers up to 10 seats.

**SageMaker AI** is the full AWS kit: notebooks, training jobs, pipelines, managed MLflow and endpoints, all billed per instance-hour. The pricing page's own example puts training on an `ml.m4.4xlarge` at $0.96 an hour. New accounts get a two-month free tier that includes 50 training hours on `m4.xlarge` or `m5.xlarge`.

**Vertex AI** is the Google equivalent. The Model Registry costs nothing until you deploy, Pipelines charge $0.03 per run plus compute, and TensorBoard bills $10 per GiB per month of stored logs. One catch on the same page: current inference does not support scale-to-zero, which the legacy product did, so an idle endpoint still bills.

**ZenML** is a framework that wraps your existing stack (orchestrator, artifact store, tracker) behind one pipeline API. The open source edition is free with unlimited runs; the hosted Starter plan is $39 a month for 100 pipeline runs.

**Metaflow** came out of Netflix, is Apache 2.0 and is supported by Outerbounds. It has the most pleasant path from notebook to scheduled production flow for Python data scientists, and no registry or serving of its own.

## Wiring the default stack

The smallest setup that works for most teams is an MLflow server backed by Postgres and object storage, with every training script pointed at it:

```
$ pip install "mlflow==3.17.2" psycopg2-binary boto3
$ mlflow server \
    --backend-store-uri postgresql://mlflow:secret@db:5432/mlflow \
    --artifacts-destination s3://ml-artifacts/mlflow \
    --host 0.0.0.0 --port 5000
$ export MLFLOW_TRACKING_URI=http://mlflow.internal:5000
```

Then log and register from training code, and promote with an alias rather than a stage:

```python
# train.py
import mlflow
from mlflow import MlflowClient
from sklearn.datasets import make_classification
from sklearn.ensemble import RandomForestClassifier

X, y = make_classification(n_samples=500, random_state=0)
model = RandomForestClassifier(max_depth=6).fit(X, y)

mlflow.set_experiment("churn")
with mlflow.start_run():
    mlflow.log_param("max_depth", 6)
    mlflow.log_metric("train_acc", model.score(X, y))
    mlflow.sklearn.log_model(model, name="model", registered_model_name="churn")

MlflowClient().set_registered_model_alias("churn", "champion", version=1)
```

Serving code loads `models:/churn@champion`, so promotion is an alias move, not a redeploy of the serving image.

## Stack picks by team size

**One to three ML engineers.** MLflow plus cron or a CI schedule, nothing else. A platform at this size is a part-time job nobody signed up for.

**Four to fifteen, on Kubernetes already.** MLflow for tracking and registry, Metaflow or ZenML for pipelines, and a dedicated serving engine. For LLMs that means vLLM or similar; the [Ollama vs vLLM comparison](/blog/ollama-vs-vllm) covers where each fits.

**Fifteen plus, platform team in place.** Kubeflow Pipelines or the cloud-native pipelines, MLflow or W&B for tracking, and registry approval gates in Git.

**All-in on one cloud, no platform team.** SageMaker or Vertex AI. You pay more per hour and get back the people-time of running Postgres, object stores and a Kubernetes operator.

## Failure modes to watch for

- **Serving code hard-wired to a stage.** The current registry docs load models by alias, as in `models:/MyModel@champion`. Point serving at an alias once and every promotion becomes one registry call instead of a code change.
- **Kubeflow as the first tool.** Teams install the full distribution to run three notebooks and spend the quarter on Istio and Dex. Start with KFP alone or skip it.
- **Idle endpoints on managed platforms.** Real-time endpoints on SageMaker and Vertex bill per instance-hour whether or not traffic arrives. Batch jobs or serverless inference fit spiky workloads better.
- **The MLflow file store in production.** The default local `./mlruns` store vanishes with the container. Always set a database backend and an artifact destination.

## Where this breaks

None of these tools monitors model quality in production well on its own; drift detection is a separate job with separate tooling. Pricing above is list price as of October 2026, and enterprise agreements change the managed-platform math. Teams whose "ML" is a hosted LLM API need evals more than a registry.

## Questions people ask

### What is the best MLOps tool in 2026?

There is no single best tool, because tracking, pipelines and serving are different jobs. MLflow is the safest default for tracking and the model registry: it is open source, free and runs anywhere. Add Metaflow, ZenML or Kubeflow Pipelines for orchestration, and use SageMaker or Vertex AI only when your data already lives in AWS or Google Cloud.

### Is Kubeflow still worth it in 2026?

Kubeflow is worth it if you already run Kubernetes and have a platform team, because Pipelines, Trainer and Katib give you portable, cluster-native ML workflows. It is not worth it as a first MLOps tool. The 26.03.1 community distribution is CI-tested on Kubernetes 1.36, and you own every upgrade, including KServe, which is now an ecosystem project.

### MLflow or Weights & Biases?

Choose MLflow when you want open source, self-hosting and a built-in model registry at no license cost. Choose Weights & Biases when researchers need the best experiment comparison UI and collaboration, and the per-seat pricing is acceptable. As of October 2026, W&B's free tier allows up to 5 model seats and Pro starts at $60 a month.

## The call we'd make

Run MLflow on Postgres and S3-compatible storage, promote with aliases, and add one orchestrator the day a retrain has to happen without a person pressing a button. Move to SageMaker or Vertex AI only when your data gravity is already there and nobody wants to operate infrastructure. The caveat: if you have more than a handful of researchers comparing hundreds of runs a week, W&B's UI earns its seat price.

## Sources

- [MLflow docs: ML components](https://mlflow.org/docs/latest/ml/)
- [Kubeflow: Introduction and subprojects](https://www.kubeflow.org/docs/started/introduction/)
- [Amazon SageMaker AI pricing](https://aws.amazon.com/sagemaker/ai/pricing/)
- [Google Cloud: Gemini Enterprise Agent Platform (Vertex AI) pricing](https://cloud.google.com/products/gemini-enterprise-agent-platform/pricing)

