Use the Sandbox

Running pipelines in the MLOps Platform Sandbox.

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

Use the Sandbox

The MLOps Platform Sandbox is a temporary MLOps platform that includes ZenML, MLflow, Kubeflow, and Minio. Its purpose is to showcase the simplicity of creating a production-ready machine-learning solution using popular open-source tools. The Sandbox is designed for learning and experimentation, not for commercial projects or large-scale production use. It offers users a controlled environment to explore MLOps tools and processes before building their custom MLOps stack based on their specific requirements.

How does the Sandbox work?

After signing up, a user "creates a sandbox" which provisions the following services on a cluster managed by the ZenML team:

Each sandbox comes with limited computing and storage resources. The ZenML service included with each sandbox has the following features:

In order to run the example pipelines, users need to download the repository locally and execute a pipeline with a supported build. The Sandbox UI offers a convenient interface for copying the relevant commands. The starter guide also provides more details on running these example pipelines.

How do I use the Sandbox to run custom pipelines?

As discussed above, the sandbox provides pre-built pipelines for users to run. If you want to try running these pipelines first, please visit this page in the starter guide to learn how to do this. The limitation on running custom pipelines is in place to control costs and demonstrate how MLOps engineers can enforce rules through a central control plane.

You might nevertheless be interested in using the resources provisioned in the Sandbox to run your own pipelines. There are two ways to do this:

Run pipelines without custom dependencies

If you have code that uses the same dependencies as the ones provided in the examples docs, you can simply update the example pipeline code (or even add new pipelines) by pushing to a git repository, and reusing existing environment builds of the example pipelines.

Of course, in order to be able to do that, you need to be able to push to the code repository. You can either:

  • Fork the zenml repository, so that the examples directory is within your code, and you can edit it in your fork, or

  • Create a new code repository with a new token that allows you to push. You can then copy the examples code into your new code repository, and edit it.

Read more about how to connect a git repository to ZenML here.

After that is done, you can change the code and run the pipeline with your chosen execution environment build. Learn more about reusing execution environments here.

Run pipelines with custom dependencies

If you have code with custom dependencies than the ones in the sandbox examples, you need to copy the stack provided in the sandbox and swap the container registry with a public container registry that you have write access to. The container registry stack component pages talk more about how to do this.

To register a new stack, you can execute the following:

zenml stack register my_stack \
  -o sandbox-kubeflow \
  -a sandbox-minio \
  -e sandbox-mlflow \
  -dv sandbox-validator \
  -c <MY_CONTAINER_REGISTRY> \
  --set

With the above stack, you can run whatever code you'd like without tying it to a container registry because ZenML will just build and push Docker images to your container registry from your local client.

What to do when your sandbox runs out?

The Sandbox will only run for 8 hours. After that, it will be deleted. If you want to continue to use ZenML in a cloud deployment you can either:

Last updated