# A field guide to ML platform buzzwords

Source: https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/

By [the Fendlemark Keepers](https://fendlemark.app/governance/#keepers) · 24 October 2026

ML platform pitches are written in a dialect that rewards ambiguity. A word with three meanings lets a product claim all three while delivering whichever is cheapest. This guide takes twelve of the commonest words and gives each the same treatment: what it means, what it is stretched to cover, and one question that tells the two apart. Most of the questions can be answered in a few minutes, with a trial install and no patience for slides. At the end the Keepers put the questions to Fendlemark, which seems only fair.

## How to read the entries

Each entry has three parts. **Means** is the narrow sense that can be checked, with a source where the word has a definition worth citing. **Stretched to** is what the word is commonly made to cover. **Ask** is the question that separates them. The entries are grouped by what the word claims the product does: doing, remembering, looking, or being trusted.

Examples come from the four tools this site is about, because they make unusually clean illustrations of the difference between neighbouring jobs. MLflow records what happened. Argo Workflows makes things happen. If a pitch uses one word for both jobs, it has a gap in it. Words that name *things inside* those tools, such as run, experiment, and artifact, are in the companion post, [What the words mean in MLflow, Metaflow, Argo Workflows, and Kubeflow](https://fendlemark.app/blog/what-the-words-mean-in-mlflow-metaflow-argo-and-kubeflow/).

## Words about doing

### MLOps

**Means.** The practice of building, deploying, and operating machine learning systems reliably, by analogy with DevOps. The usual argument for why it is needed is "Hidden Technical Debt in Machine Learning Systems" (Sculley et al., NIPS 2015), whose best-known figure shows the ML code as one small box among much larger ones for data, configuration, serving, and monitoring.

**Stretched to.** A product category, a job title, a maturity model, and a line in a budget.

**Ask.** Which of the practices does this give me, and which does it assume I already have? Versioned code and data, repeatable training, deployment, and monitoring are different practices with different tools. A practice is something a team does. A product can only make it easier, so no product *is* MLOps, however it is labelled.

### Orchestration

**Means.** Deciding what runs, in what order, when, and with what dependencies and retries, and then running it. Argo Workflows does this on Kubernetes, with templates that do work and templates that invoke other templates. Metaflow does it for the steps of a flow. Kubeflow Pipelines compiles a pipeline and has a backend run it.

**Stretched to.** Anything with a diagram of arrows, including tools that only watch.

**Ask.** Can it start something, retry something, or stop something? If it cannot, it is not orchestrating, however good the diagram. MLflow, for one, records what your code tells it and does not run your code. That is not a criticism. Tracking and orchestration are different jobs, and most platforms need both.

## Words about remembering

### Experiment tracking

**Means.** Recording, for each attempt, the inputs (parameters and code version), the outputs (metrics and files), and when it ran, so that attempts can be compared. In MLflow this is a run with its parameters, metrics, and artifacts, grouped under an experiment.

**Stretched to.** Reproducibility, lineage, and governance, none of which tracking provides by itself.

**Ask.** Can I find last month's best attempt, and say what produced it, without asking the person who ran it? The answer depends on what was recorded at the time, so try it on a real run from last month and not a demo.

### Model registry

**Means.** A named catalogue of models, with numbered versions and a way to say which version is the one in use. MLflow's has registered models, model versions, and aliases, a movable name such as `champion` that points at one version.

**Stretched to.** Deployment, approval workflow, and governance.

**Ask.** When the alias moves, what happens? A registry records an intention. Unless something watches it and acts, moving `champion` from version 7 to version 8 changes a row in a database and nothing else. Both arrangements are reasonable. You should know which one you have bought.

### Lineage

**Means.** A record, made at the time the work happened, of what produced what: which data and code went into which run, and which run produced which model. OpenLineage, an open framework for collecting lineage, models it with datasets, jobs, and runs, and attaches further metadata to them as facets. The Keepers note, without complaint, that the word was in use there first.

**Stretched to.** Any graph in a user interface, including a pipeline's DAG. A DAG shows what will run. It does not show what produced a particular output, and the two diverge the first time someone reruns half of it.

**Ask.** Starting from a model version, can I reach the exact data and code that produced it, and was that link recorded when it happened or reconstructed afterwards? Reconstruction is a guess with good manners.

### Reproducibility

**Means.** Running again from the record alone gives the same result, or one within a stated tolerance. That needs the code revision, the data version, the environment, and any random seeds, all recorded together.

**Stretched to.** "We log your parameters." Parameters are one ingredient of four.

**Ask.** Take a run from last quarter and list what you would need that its record does not contain. The usual answers are the code revision, because a container image rarely has a `.git` directory (the post on [tagging MLflow runs from Argo steps](https://fendlemark.app/blog/running-mlflow-and-argo-workflows-together/#tags) shows one fix), the data version, the exact image digest rather than a tag that has since moved, and the seed.

## Words about looking

### Observability

**Means.** Understanding a system's internal state from what it emits. In software that is conventionally logs, metrics, and traces.

**Stretched to.** Dashboards in general, and, in ML, three quite different things: the platform (are jobs healthy?), the model in production (is it still right?), and the data (has it changed?). They are usually sold as one.

**Ask.** Observability of which? A tool that shows the status of runs answers the first and says nothing about the second or third. That is a perfectly good tool. It should not be sold as the other two.

### Control plane

**Means.** The Kubernetes glossary defines it as "the container orchestration layer that exposes the API and interfaces to define, deploy, and manage the lifecycle of containers". The place where you declare what you want and something works to make it so, as opposed to the data plane, which does the work.

**Stretched to.** Any web application with a backend and a login page.

**Ask.** Can I change the platform through it? And if I cannot, what is it the control plane *of*?

### Single pane of glass

Also: unified, holistic, 360-degree, one-stop.

**Means.** One place to see several systems.

**Stretched to.** One place to do everything, or one page with four tabs.

**Ask.** How are the systems joined? There are three levels, and they are not the same thing:

| Level | What you get | The test |
| --- | --- | --- |
| Link | A button that opens the other tool | Does it land on the right object, or on the tool's front page? |
| Embed | The other tool's own page inside a frame | Does anything outside the frame know what is inside it? |
| Join | One entity that carries what each tool knows about it | Click it. Can the product say why it believes the two records are the same thing? |

Links and embeds are cheap, and perfectly respectable. A page with four tools on it is four dashboards, though. A console that knows two records are one job is one console, and it is the only kind that can answer a question across tools, such as which runs from this commit are still going. The join is where the work is, and where the evidence is: it should be able to show its reasons. The [Philosophy](https://fendlemark.app/philosophy/#one-console) declines the phrase "single pane of glass" on the grounds that glass is fragile and panes are flat. The objection stands, and also applies to the iframe.

### End-to-end

**Means.** Covering the whole lifecycle, from preparing data to serving and monitoring models.

**Stretched to.** Covering some of the stages and having a slide that shows the rest.

**Ask.** Which stage does it not cover, and what would I use there? Every platform has an edge, and the honest ones can say where it is. None of the four tools here is end-to-end by itself: MLflow records, Metaflow structures flows, Argo Workflows runs workflows, and Kubeflow is a family of subprojects and not one product.

## Words about being trusted

### Governance

**Means.** Controlling who may do what to which assets, with a record that can be audited. Who approved this model for production, and when?

**Stretched to.** A tag called `approved`.

**Ask.** Who can change it, and where is the change recorded? A tag that anyone can set is a label. Governance needs permissions on the change and a trail of who made it. A read-only tool can show you your governance. It cannot provide any.

### AI-powered

Also: intelligent, agentic, copilot.

**Means.** A learned model is somewhere in the product's decision path.

**Stretched to.** A chat box in the sidebar. And, more worryingly, to decisions where a guess is not an acceptable answer, such as whether two records describe the same job.

**Ask.** When it decides, can it tell me why, and will it decide the same way tomorrow? A learned model is a good fit for ranking, summarising, and spotting anomalies, where a mistake is cheap and visible. It is a poor fit for identity, where a mistake is costly and silent: a wrongly merged record looks exactly like a correct one.

## The questions, in one table

| Word | Ask |
| --- | --- |
| [MLOps](https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/#mlops) | Which practices does it give me, and which does it assume I have? |
| [Orchestration](https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/#orchestration) | Can it start, retry, or stop something? |
| [Experiment tracking](https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/#experiment-tracking) | Can I find last month's best attempt and say what produced it? |
| [Model registry](https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/#model-registry) | When the alias moves, what happens? |
| [Lineage](https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/#lineage) | Was the link recorded when it happened, or reconstructed afterwards? |
| [Reproducibility](https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/#reproducibility) | What would I need that the record does not contain? |
| [Observability](https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/#observability) | Of the platform, the model, or the data? |
| [Control plane](https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/#control-plane) | Can I change the platform through it? |
| [Single pane of glass](https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/#single-pane) | Is it a link, an embed, or a join, and can it explain the join? |
| [End-to-end](https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/#end-to-end) | Which stage does it not cover? |
| [Governance](https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/#governance) | Who can change it, and where is the change recorded? |
| [AI-powered](https://fendlemark.app/blog/ml-platform-buzzwords-field-guide/#ai-powered) | Can it say why it decided, and will it decide the same way tomorrow? |

## Where Fendlemark stands

The Keepers have put the same twelve questions to Fendlemark. The answers below come from its documentation, and they are mostly "no", which is what an honest answer to this kind of question tends to look like.

| Word | Fendlemark |
| --- | --- |
| MLOps | Not MLOps. It supports one practice, which is seeing what your platform is doing. |
| Orchestration | No. It never starts, retries, or stops anything, because [every adapter is read-only](https://fendlemark.app/docs/adapters/#common). The console deep-links to the tool when you want to act. |
| Experiment tracking | No. It reads MLflow's. |
| Model registry | No. It shows MLflow's registry and links each model version to the run that produced it. |
| Lineage | In part. It relates a model version to its source run, and entities built from the same git commit to one another. No adapter reads datasets, so it knows nothing about the data side. |
| Reproducibility | No. It shows what the tools recorded and cannot add what they did not. |
| Observability | Of the platform's jobs, yes: phases, adapter health, and a `/metrics` endpoint for itself. Of models and data, no. |
| Control plane | By name. The binary's control plane controls Fendlemark. The rest of your platform stays controlled by the tools that were already doing it, an arrangement the Keepers prefer. |
| Single pane of glass | A join. Facets are merged on [correlation keys](https://fendlemark.app/docs/architecture/#correlation) by exact equality, and [lattice explain](https://fendlemark.app/blog/fendlemark-0-9-5/) shows which key joined which. |
| End-to-end | No. Four tools, with a [fifth adapter](https://fendlemark.app/docs/adapters/writing-an-adapter/) for the tool that is missing. |
| Governance | No. Being read-only, it can show you your governance and cannot provide any. |
| AI-powered | No. [The reconciler has no fuzzy matching and no machine learning](https://fendlemark.app/docs/architecture/#correlation), on purpose, in a console for machine learning platforms. |

The Keepers regard "no" as the most under-used answer in the industry, and note that it is also the quickest to check.

## The shortest version

Most buzzwords are good words with too much to do. When you meet one, ask what it is covering for. Sometimes the answer is a missing feature. Sometimes it is a real feature that has no name of its own, so the buzzword is standing in for it. The second kind is the one worth paying for, and the same question finds it.

## Further reading

- [What the words mean in MLflow, Metaflow, Argo Workflows, and Kubeflow](https://fendlemark.app/blog/what-the-words-mean-in-mlflow-metaflow-argo-and-kubeflow/), on run, experiment, pipeline, artifact, and the rest
- [Architecture](https://fendlemark.app/docs/architecture/), on the lattice, correlation keys, and the non-goals in the table above
- [Philosophy](https://fendlemark.app/philosophy/), on why there is one console and why it is read-only
- [Hidden Technical Debt in Machine Learning Systems](https://papers.nips.cc/paper_files/paper/2015/hash/86df7dcfd896fcaf2674f757a2463eba-Abstract.html) (Sculley et al., NIPS 2015)
- [OpenLineage](https://openlineage.io/docs/), an open framework for data lineage collection and analysis
- [Kubernetes glossary: Control Plane](https://kubernetes.io/docs/reference/glossary/?all=true#term-control-plane)
