When would you want to use it?
Running ZenML pipelines with the local Artifact Store is usually sufficient if you just want to evaluate ZenML or get started quickly without incurring the trouble and the cost of employing cloud storage services in your stack. However, the local Artifact Store becomes insufficient or unsuitable if you have more elaborate needs for your project:- if you want to share your pipeline run results with other team members or stakeholders inside or outside your organization
- if you have other components in your stack that are running remotely (e.g. a Kubeflow or Kubernetes Orchestrator running in public cloud).
- if you outgrow what your local machine can offer in terms of storage space and need to use some form of private or public storage service that is shared with others
- if you are running pipelines at scale and need an Artifact Store that can handle the demands of production grade MLOps
How do you deploy it?
The Azure Artifact Store flavor is provided by the Azure ZenML integration, you need to install it on your local machine to be able to register an Azure Artifact Store and add it to your stack:az://container-name
or abfs://container-name
. Please read the Azure Blob Storage documentation on how to configure an Azure Blob Storage container.
With the URI to your Azure Blob Storage container known, registering an Azure Artifact Store can be done as follows:
Authentication Methods
Integrating and using an Azure Artifact Store in your pipelines is not possible without employing some form of authentication. ZenML currently provides two options for configuring Azure credentials, the recommended one being to use aSecrets Manager
in your stack to store the sensitive information in a secure location.
You will need the following information to configure Azure credentials for ZenML, depending on which type of Azure credentials you want to use:
- an Azure connection string
- an Azure account key
- the client ID, client secret and tenant ID of the Azure service principal
-
to use an Azure connection string, set
AZURE_STORAGE_CONNECTION_STRING
to your Azure Storage Key connection string -
to use an Azure account key, set
AZURE_STORAGE_ACCOUNT_NAME
to your account name and one ofAZURE_STORAGE_ACCOUNT_KEY
orAZURE_STORAGE_SAS_TOKEN
to the Azure key value. -
to use Azure ServicePrincipal credentials, set
AZURE_STORAGE_ACCOUNT_NAME
to your account name andAZURE_STORAGE_CLIENT_ID
,AZURE_STORAGE_CLIENT_SECRET
andAZURE_STORAGE_TENANT_ID
to the
- Orchestrators need to access the Artifact Store to manage pipeline artifacts
- Step Operators need to access the Artifact Store to manage step level artifacts
- Model Deployers need to access the Artifact Store to load served models
-
use an Azure account name and access key or SAS token (the
account_name
,account_key
andsas_token
attributes need to be configured in the ZenML secret) -
use an Azure connection string (configure the
connection_string
attribute in the ZenML secret) -
use Azure ServicePrincipal credentials (which requires
account_name
,tenant_id
,client_id
andclient_secret
to be configured in the ZenML secret)