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 tool chain in a more precise manner.

ZenML tackles this problem by introducing the concept of Stacks and Stack Components. These stack component 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 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 that components role in the MLOps process:

Type of Stack ComponentDescription
OrchestratorOrchestrating the runs of your pipeline
Artifact StoreStorage for the artifacts created by your pipelines
Container RegistryStore for your containers
Secrets ManagerCentralized location for the storage of your secrets
Step OperatorExecution of individual steps in specialized runtime environments
Model DeployerServices/platforms responsible for online model serving
Feature StoreManagement of your data/features
Experiment TrackerTracking your ML experiments
AlerterSending alerts through specified channels
AnnotatorLabeling and annotating data
Data ValidatorData and model validation

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.