MLOps in action
@pieter_de_bruin
Empower every person and
every organization on the
planet to achieve more
©Microsoft Corporation
Azure
DevOps
“DevOps is the union of people, process, and products
to enable continuous delivery of value to end users”
(And a million other definitions)
Culture
Dev, test, release, management/operations
Kanban Boards, Backlogs,
Dashboards, and Reporting
Cloud-hosted pipelines for Linux, Windows and
macOS, with unlimited minutes for open source
Azure Pipelines
Any language, any platform, any cloud
Build, test, and deploy Node.js, Python, 
Java, PHP, Ruby,
C/C++, .NET, Android, and iOS apps. Run in parallel on
Linux, macOS, and Windows. Deploy to Azure, AWS,
GCP or on-premises
Extensible
Explore and implement a wide range of community-
built build, test, and deployment tasks, along with
hundreds of extensions from Slack to SonarCloud.
Support for YAML, reporting and more
Best-in-class for open source
Ensure fast continuous integration/continuous delivery
(CI/CD) pipelines for every open source project. Get
unlimited build minutes for all open source projects with
up to 10 free parallel jobs across Linux, macOS and
Windows
Containers and Kubernetes
Easily build and push images to container registries like
Docker Hub and Azure Container Registry. Deploy
containers to individual hosts or Kubernetes.
Demo DevOps
Build/CI,
Integrate,
Test
3.
1.
Push
code
Production
environments
Run, Manage
5.
Code
Run
Validate
Debug
Inner-Loop
CD, Deploy
4.
Source Code
Control
(SCC)
2.
6.
Azure
Container
Registry
Azure Monitoring
Outer-Loop
SpeechVision Language
2016 2017 January 2018March 2018
Microsoft ML breakthroughs
©Microsoft Corporation
Azure
From ML Studio + data science vm (2014/5)
Machine Learning on Azure
Domain specific pretrained models
To reduce time to market
Azure
Databricks
Machine
Learning VMs
Popular frameworks
To build advanced deep learning solutions
TensorFlowPytorch Onnx
Azure Machine
Learning
LanguageSpeech
…
SearchVision
Productive services
To empower data science and development teams
Powerful infrastructure
To accelerate deep learning
Scikit-Learn
PyCharm Jupyter
Familiar Data Science tools
To simplify model development
Visual Studio Code Command line
CPU GPU FPGA
What is the E2E ML lifecycle?
• Develop & train model with reusable ML pipelines
• Package model using containers to capture runtime dependencies for inference
• Validate model behavior—functionally, in terms of responsiveness, in terms of regulatory compliance
• Deploy model—to cloud & edge, for use in real-time/streaming/batch processing
• Monitor model behavior & business value, know when to replace/deprecate a stale model
Train Model Validate Model Deploy ModelPackage Model Monitor Model
Retrain Model
App developer
using Azure DevOps
MLOps Workflow
Build appCollaborate Test app Release app Monitor app
Model reproducibility Model retrainingModel deploymentModel validation
Data scientist using
Azure Machine Learning
MLOps with Azure Machine Learning
Train model Validate
model
Deploy
model
Monitor
model
Retrain model
Model reproducibility Model retrainingModel deploymentModel validation
Build appCollaborate Test app Release app Monitor app
Azure DevOps integration
App developer
using Azure DevOps
Data scientist using
Azure Machine Learning
© Microsoft Corporation
Reproducibility / Auditability Validation Automation / Observability
• Code drives generation
and deployments
• Pipelines are
reproducible and
verifiable
• All artifacts can be
tagged and audited
• SWE best practices for
quality control
• Offline comparisons of
model quality
• Minimize bias and
enable explainability
• Controlled rollout
capabilities
• Live comparison of
predicted vs. expected
performance
• Results fed back to
watch for drift and
improve model
MLOps Benefits
Azure Services Supporting MLOps
Infrastructure as Code CI/CD Testing / Release / Monitoring
• Azure Resource Manager Templates
• Azure ML Python SDK & CLI
• Azure SDK’s
• Azure DevOps Pipelines
• Azure ML Training Services
• Azure Repos / GitHub
• Azure Boards
• Azure DevOps for automated testing
• R - Runit and testthat
• Python - PyUnit, pytest, nose, …
• Azure ML & MLFlow Tracking
• Azure Data Prep SDK (analyse/profile)
• Azure ML Model Management
(Instrumentation, Telemetry)
• Azure Monitor for app telemetry
First Class Model Training Tasks
CI pipeline captures:
1. Create sandbox
2. Run unit tests and code quality checks
3. Attach to compute
4. Run training pipeline
5. Evaluate model
6. Register model
Gating and Provisioning on Validation & Profiling
Automated Deployment
CD pipeline captures:
1. Package model into container
image
2. Validate and profile model
3. Deploy model to DevTest (ACI)
4. If all is well, proceed to rollout to
AKS
Everything is done via the CLI
Demo MLOps
©Microsoft Corporation
Azure
MLOps sample solution
Azure ML service
Lets you easily implement this AI/ML Lifecycle
Azure
Machine Learning
Workflow Steps
©Microsoft Corporation
Azure
Takeaways
Azure DevOps & ML are great together
MLOps makes you achieve more
Start at https://aka.ms/mlops
Sample: https://www.azuredevopslabs.com/labs/vstsextend/aml/
© Copyright Microsoft Corporation. All rights reserved.
Thank you! 
@pieter_de_bruin

MLOps in action

  • 1.
  • 2.
    Empower every personand every organization on the planet to achieve more
  • 3.
    ©Microsoft Corporation Azure DevOps “DevOps isthe union of people, process, and products to enable continuous delivery of value to end users” (And a million other definitions) Culture Dev, test, release, management/operations
  • 4.
  • 5.
    Cloud-hosted pipelines forLinux, Windows and macOS, with unlimited minutes for open source Azure Pipelines Any language, any platform, any cloud Build, test, and deploy Node.js, Python, 
Java, PHP, Ruby, C/C++, .NET, Android, and iOS apps. Run in parallel on Linux, macOS, and Windows. Deploy to Azure, AWS, GCP or on-premises Extensible Explore and implement a wide range of community- built build, test, and deployment tasks, along with hundreds of extensions from Slack to SonarCloud. Support for YAML, reporting and more Best-in-class for open source Ensure fast continuous integration/continuous delivery (CI/CD) pipelines for every open source project. Get unlimited build minutes for all open source projects with up to 10 free parallel jobs across Linux, macOS and Windows Containers and Kubernetes Easily build and push images to container registries like Docker Hub and Azure Container Registry. Deploy containers to individual hosts or Kubernetes.
  • 6.
  • 7.
  • 8.
    SpeechVision Language 2016 2017January 2018March 2018 Microsoft ML breakthroughs
  • 9.
    ©Microsoft Corporation Azure From MLStudio + data science vm (2014/5)
  • 10.
    Machine Learning onAzure Domain specific pretrained models To reduce time to market Azure Databricks Machine Learning VMs Popular frameworks To build advanced deep learning solutions TensorFlowPytorch Onnx Azure Machine Learning LanguageSpeech … SearchVision Productive services To empower data science and development teams Powerful infrastructure To accelerate deep learning Scikit-Learn PyCharm Jupyter Familiar Data Science tools To simplify model development Visual Studio Code Command line CPU GPU FPGA
  • 11.
    What is theE2E ML lifecycle? • Develop & train model with reusable ML pipelines • Package model using containers to capture runtime dependencies for inference • Validate model behavior—functionally, in terms of responsiveness, in terms of regulatory compliance • Deploy model—to cloud & edge, for use in real-time/streaming/batch processing • Monitor model behavior & business value, know when to replace/deprecate a stale model Train Model Validate Model Deploy ModelPackage Model Monitor Model Retrain Model
  • 12.
    App developer using AzureDevOps MLOps Workflow Build appCollaborate Test app Release app Monitor app Model reproducibility Model retrainingModel deploymentModel validation Data scientist using Azure Machine Learning
  • 13.
    MLOps with AzureMachine Learning Train model Validate model Deploy model Monitor model Retrain model Model reproducibility Model retrainingModel deploymentModel validation Build appCollaborate Test app Release app Monitor app Azure DevOps integration App developer using Azure DevOps Data scientist using Azure Machine Learning
  • 14.
    © Microsoft Corporation Reproducibility/ Auditability Validation Automation / Observability • Code drives generation and deployments • Pipelines are reproducible and verifiable • All artifacts can be tagged and audited • SWE best practices for quality control • Offline comparisons of model quality • Minimize bias and enable explainability • Controlled rollout capabilities • Live comparison of predicted vs. expected performance • Results fed back to watch for drift and improve model MLOps Benefits
  • 15.
    Azure Services SupportingMLOps Infrastructure as Code CI/CD Testing / Release / Monitoring • Azure Resource Manager Templates • Azure ML Python SDK & CLI • Azure SDK’s • Azure DevOps Pipelines • Azure ML Training Services • Azure Repos / GitHub • Azure Boards • Azure DevOps for automated testing • R - Runit and testthat • Python - PyUnit, pytest, nose, … • Azure ML & MLFlow Tracking • Azure Data Prep SDK (analyse/profile) • Azure ML Model Management (Instrumentation, Telemetry) • Azure Monitor for app telemetry
  • 16.
    First Class ModelTraining Tasks CI pipeline captures: 1. Create sandbox 2. Run unit tests and code quality checks 3. Attach to compute 4. Run training pipeline 5. Evaluate model 6. Register model
  • 17.
    Gating and Provisioningon Validation & Profiling
  • 18.
    Automated Deployment CD pipelinecaptures: 1. Package model into container image 2. Validate and profile model 3. Deploy model to DevTest (ACI) 4. If all is well, proceed to rollout to AKS Everything is done via the CLI
  • 19.
  • 20.
  • 21.
    Azure ML service Letsyou easily implement this AI/ML Lifecycle Azure Machine Learning Workflow Steps
  • 22.
    ©Microsoft Corporation Azure Takeaways Azure DevOps& ML are great together MLOps makes you achieve more Start at https://aka.ms/mlops Sample: https://www.azuredevopslabs.com/labs/vstsextend/aml/
  • 23.
    © Copyright MicrosoftCorporation. All rights reserved. Thank you!  @pieter_de_bruin

Editor's Notes

  • #3 Every great organization needs an enduring mission – a noble goal, a challenge worth the effort. Not long after Satya became CEO, we announced ours. We found it hiding right in plain sight. It connects back to our earliest days as a company.   We will empower every person and every organization on the planet to achieve more.   Empower is a word that gets thrown around quite a bit in our industry. When we talk about it we mean with the right tools – anyone can do anything. “On the planet,” is the most interesting piece – we’re at a unique moment in history – a moment that is thrilling and uncertain. We are seeing unprecedented power and untapped potential. Our mission is to bring people together and help people achieve their potential.
  • #4 https://docs.microsoft.com/en-us/azure/devops/learn/what-is-devops https://docs.microsoft.com/en-us/azure/architecture/checklist/dev-ops
  • #6 Azure Pipelines is the perfect launchpad for your code – automating your builds and deployments so you spend less time with the nuts and bolts and more time being creative
  • #9 8
  • #14 13
  • #16 15
  • #22 The overall approach is to orchestrate continuous integration and continuous delivery Azure Pipelines from Azure DevOps. These pipelines are triggered by changes to artifacts that describe a machine learning pipeline, that is created with the Azure Machine Learning SDK. For example, checking in a change to the model training script executes the Azure Pipelines Build Pipeline, which trains the model and creates the container image. Then this triggers an Azure Pipelines Release pipeline that deploys the model as a web service, by using the Docker image that was created in the Build pipeline. Once in production, the scoring web service is monitored using a combination of Application Insights and Azure Storage.