Manage External Services
ZenML pipelines are fully aware of external, longer-lived services.
This is an older version of the ZenML documentation. To check the latest version please visit https://docs.zenml.io
Interact with external services
ZenML interacts with external systems (e.g. prediction services, monitoring systems, visualization services) with a so-called Service
abstraction. The concrete implementation of this abstraction deals with functionality concerning the life-cycle management and tracking of an external service (e.g. process, container, Kubernetes deployment etc.).
One concrete example of a Service
is the built-in LocalDaemonService
, a service represented by a local daemon process. This extends the base service class with functionality concerning the life-cycle management and tracking of external services implemented as local daemon processes.
Services can be passed through steps like any other object, and used to interact with the external systems that they represent:
You can see full examples of using services here:
Visualizing training with tensorboard with the Kubeflow tensorboard example.
Continuous training and continuous deployment setting with the MLflow deployment example.
Continuous training and continuous deployment setting with the Seldon deployment example.
Example services
One concrete example of a Service
implementation is the TensorboardService
. It enables visualizing TensorBoard logs easily by managing a local TensorBoard server.
This couples nicely with the TensorboardVisualizer
to visualize Tensorboard logs.
Other examples of Services can be found in the continuous training and deployment guide.
Last updated