📜Component guide

Overview of categories of MLOps components.

This is an older version of the ZenML documentation. To read and view the latest version please visit this up-to-date URL.

📜 Component guide

If you are new to the world of MLOps, it is often daunting to be immediately faced with a sea of tools that seemingly all promise and do the same things. It is useful in this case to try to categorize tools in various groups in order to understand their value in your toolchain in a more precise manner.

ZenML tackles this problem by introducing the concept of Stacks and Stack Components. These stack components represent categories, each of which has a particular function in your MLOps pipeline. ZenML realizes these stack components as base abstractions that standardize the entire workflow for your team. In order to then realize the benefit, one can write a concrete implementation of the abstraction, or use one of the many built-in integrations that implement these abstractions for you.

Here is a full list of all stack components currently supported in ZenML, with a description of the role of that component in the MLOps process:

Type of Stack Component


Orchestrating the runs of your pipeline

Storage for the artifacts created by your pipelines

Store for your containers

Execution of individual steps in specialized runtime environments

Services/platforms responsible for online model serving

Management of your data/features

Tracking your ML experiments

Sending alerts through specified channels

Labeling and annotating data

Data and model validation

Builds container images.

Manage and interact with ML Models

Each pipeline run that you execute with ZenML will require a stack and each stack will be required to include at least an orchestrator and an artifact store. Apart from these two, the other components are optional and to be added as your pipeline evolves in MLOps maturity.

Writing custom component flavors

You can take control of how ZenML behaves by creating your own components. This is done by writing custom component flavors. To learn more, head over to the general guide on writing component flavors, or read more specialized guides for specific component types (e.g. the custom orchestrator guide).

Last updated