< Previous Challenge - Home - Next Challenge >
The Release
pipeline demonstrates the automation of various stages/tasks involved in deploying an ML model and operationalizing the model in production. The stages generally constitute collecting the Build Artifacts, creating a web service and testing the web service. This web service that gets created in the Release
Pipeline is a REST endpoint (a Scoring URI) used to predict/forecast on a new dataset. Additionally, it can be plugged into business applications to leverage the intelligence of the model.
There are several ways to create a Release
pipeline. The two most common and popular ways are:
Use whichever approach your team is most comfortable with.
We can setup Continuous Deployment (CID) trigger for every Release
pipeline. The pipeline shows how to operationalize the scoring image and promote it safely across different environments.
Release
pipeline.Build Artifact
that you created in the previous challenge.
Azure Pipelines
.ubuntu-18.04
.Release
pipeline tasks:
install_environment.sh
file in environment_setup/
folder. This will install all the python modules required to deploy the forecasting model.deployOnAci
.py in service/code/
folder. A “healthy” ACI deployment will be created under Azure ML Endpoints. It contains a REST-based Scoring URI/Endpoint that you can call using Postman or Swagger.
AciWebserviceTest.py
in service/code/
folder. This allows you to run the web service on new data (or test data) to forecast demand for new items.
Release
pipeline in Azure DevOps.Bash
task to print all environment variables (which is how predefined variables are passed to your pipeline).
env | sort
Bash
task to print a tree
of the filesystem of your build agent.
find $(Pipeline.Workspace) -print | sed -e "s;[^/]*/;|____;g;s;____|; |;g"
Python 3.6
, there is a task for this)Azure CLI
task to run the Python scripts since they need to interact with the Azure Machine Learning
resource.Build
pipeline in the Release
pipeline pipeline.source
.