MLflow is an open-source platform for managing the machine learning lifecycle. It was created at Databricks and announced in June 2018, and it was designed to address a recurring problem in applied machine learning: experiments were hard to reproduce, models were hard to track, and the path from a notebook to a deployed model was ad hoc and brittle. MLflow’s goal was to provide a small set of lightweight, library-agnostic tools that worked with any ML framework rather than locking teams into a single ecosystem.
The project was originally organized around four components. MLflow Tracking is an API and UI for logging the parameters, code versions, metrics, and output files of each run, so that results can be compared and reproduced later. MLflow Projects packaged code in a reusable, reproducible form. MLflow Models defined a standard format for packaging a trained model so it could be served in different environments. The Model Registry, added later, provided a central store for managing model versions, stage transitions, and annotations across a team.
MLflow’s design reflects the MLOps idea that a model is the product of both code and data, and therefore needs the same kind of versioning and lineage that source control gives to ordinary software. By recording each run as a tracked entity grouped into experiments, it gives machine learning work the equivalent of a commit history that can be inspected, charted, and audited.
Because MLflow deliberately avoided coupling itself to one training library, it integrated with a broad range of frameworks and deployment targets, including containerized and Kubernetes-based serving. That neutrality, combined with its open-source license, helped it become one of the most widely adopted pieces of MLOps tooling.
Over time MLflow expanded well beyond its original four components, adding evaluation, model deployment helpers, and, more recently, features aimed at large language models and AI agents such as tracing and prompt management. Its self-description has evolved accordingly, but its core contribution remains the same: bringing reproducibility, tracking, and packaging discipline to the machine learning lifecycle.