SlideShare a Scribd company logo
1 of 27
Download to read offline
Approcci DevOps per il
Rilascio Continuo di Modelli
ML su Azure
Igor Antonacci – Automation Lover
Luca Milan – IT & DevOps addicted
Combinare le pratiche DevOps e le potenzialità di
GitHub per il rilascio continuo e condizionato
di prodotti di AI su Azure.
Platinum Sponsor
Gold Sponsor
Technical Sponsor
Agenda
❑Introduzione
❑DevOps & Machine Learning = MLOps
❑Tools e Metodologie
❑Demo Time
© Copyright Microsoft Corporation. All rights reserved.
Computer Science
AI
Development
IT
Operations
ML: Peculiarità
Matrice
Matematica
Strumenti
Dedicati
Ciclo di
Vita
Modalità
Rilascio
Codice
Dati
Modello
ML: Ciclo di Vita
Training
Data
Learning
Process
Learned
Function
Scoring
or
Serving
Get fresh data and training again
Machine Learning senza Python
DevOps Pipeline 4 ML
Data or Algorithm
updated
Function Code
updated
Infrastructure
updated
ML.NET
Training
Deploy
Model
Pulumi Up
Deploy
Function
Yes
DevOps
Done
No
Build & Test
Triggers
C# Code
Scoring/Serving
Micro UI
ML Training
Predictor
Micro UI
Code + Data
Github Pipelines
(Re)Feed ML Pipeline
Solution
Overview
IGOR ANTONACCI
© Copyright Microsoft Corporation. All rights reserved.
Obiettivo organizzativo
All’interno di un Team di sviluppo, facilitare il dispiegamento di
Modelli di IA attraverso:
• la COOPERAZIONE tra Data Scientists e IT Operations
• L’AUTOMAZIONE del processo di Analisi, Sviluppo, Test e
rilascio di un modello
© Copyright Microsoft Corporation. All rights reserved.
MLOps
“With Machine Learning Model Operationalization Management (MLOps),
we want to provide an end-to-end machine learning development process
to design, build and manage reproducible, testable, and evolvable ML-
powered software.”
(cit. ML Ops: Machine Learning Operations (ml-ops.org))
Solution Architecture
Prediction Pipeline
v0.1.0-abcdef
Training Model Pipeline
Micro-UI Pipeline
Branching model
for Data Scientists
MAIN
experiment / model-refininig_001
experiment / ml-net_release-change_001
Pull Request
✓ Model
(Code)
✓ Test
✓ Dataset
✓ Review
✓ Approve
✓ Merge
GitHub Actions to the
rescue
COMMIT
✓ Model (Code)
✓ Test
✓ Dataset
✓ Build
✓ Test
✓ Training
Pull-request
✓ Review
✓ Approve
✓ Merge
Training Model
GitHub Environments
✓ on push
✓ on pull-request
✓ …
Job #1 Job #2
Action 1 – Setup .NET Core
Action 2 – Build project
Action 3 – Test project
Action N – …
Action 1 – GitVersion
Action 2 – Create Release
Action 3 – Publish Artifacts
Action N – …
Depends on
Secrets
✓ on push
✓ on pull-request
✓ …
Job #1 Job #2
Action 1 – Setup .NET Core
Action 2 – Build project
Action 3 – Test project
Action N – …
Action 1 – GitVersion
Action 2 – Create Release
Action 3 – Publish Artifacts
Action N – …
Depends on
Environment
Approvers
GitHub Environments
COMMIT
✓ Model (Code)
✓ Test
✓ Dataset
✓ Build
✓ Test
✓ Training
✓ Trained Model
✓ Dataset
Pull-request
✓ Review
✓ Approve
✓ Merge
Approvazione
Promozione
✓ Review
✓ Approve
Serving “Environment”
Training Model
Dispatch Message
▪ event_type: model-created
▪ message: |
{
"ML_MODEL_VERSION": vX.Y.Z-xxxx,
"ML_MODEL_URI":
https://github.com/igoran/.../${{
env.VERSION_NAME }}.zip
}
GitHub as Artifact
Repository
COMMIT
✓ Model (Code)
✓ Test
✓ Dataset
✓ Build
✓ Test
✓ Training
✓ Trained Model
✓ Dataset
Pull-request
✓ Review
✓ Approve
✓ Merge
Approvazione
Promozione
✓ Review
✓ Approve
Serving “Environment”
Dispatch Message
▪ event_type: model-created
▪ message: |
{
"ML_MODEL_VERSION": vX.Y.Z-xxxx,
"ML_MODEL_URI":
https://github.com/igoran/.../${{
env.VERSION_NAME }}.zip
}
Training Model
0.1.0-c28c8ba
GH Actions – Workflow
Dispatch
COMMIT
✓ Model (Code)
✓ Test
✓ Dataset
✓ Build
✓ Test
✓ Training
✓ Trained Model
✓ Dataset
Pull-request
✓ Review
✓ Approve
✓ Merge
Approvazione
Promozione
✓ Review
✓ Approve
Serving “Environment”
Training Model
Dispatch Message
▪ event_type: model-created
▪ message: |
{
"ML_MODEL_VERSION": vX.Y.Z-xxxx,
"ML_MODEL_URI":
https://github.com/igoran/.../${{
env.VERSION_NAME }}.zip
}
GH Actions – Workflow
Dispatch
SETUP INFRA
✓ Build
✓ Test
Azure
Deployment
Slots
model-created
✓ Trained Model
✓ Dataset
Download Model
PROD DEV
Predictor
MicroUI Pipeline
DEPLOY
✓ Build
✓ Test
FrontEnd Dev
Scoring/Serving
Micro UI
ML Training
Predictor
Micro UI
Code + Data
Github Pipelines
(Re)Feed ML Pipeline
Solution
Overview
© Copyright Microsoft Corporation. All rights reserved.
PULUMI
▪ Infrastructure-as-Code Framework
▪ Multi-Platform Providers (AWS, Azure, GCP … )
▪ (Multi-)Language oriented
▪ C#, Python, Go …
▪ CLI ed Engine multi piattaforma (pulumi)
▪ NO YAML ☺
▪ Ambienti “sandboxed” →Stacks
DEMO
Platinum Sponsor
Gold Sponsor
Technical Sponsor

More Related Content

What's hot

How we built a job board in one week with JHipster
How we built a job board in one week with JHipsterHow we built a job board in one week with JHipster
How we built a job board in one week with JHipsterKile Niklawski
 
Firebase analytics event_201607
Firebase analytics event_201607Firebase analytics event_201607
Firebase analytics event_201607PRADA Hsiung
 
GitOps Days EU 20 - Our journey building a self-service platform
GitOps Days EU 20 - Our journey building a self-service platformGitOps Days EU 20 - Our journey building a self-service platform
GitOps Days EU 20 - Our journey building a self-service platformSteven Wade Consutling
 
Introduction to using google colab
Introduction to using google colabIntroduction to using google colab
Introduction to using google colabali alemi
 
Python Programming with Google Colab
Python Programming with Google ColabPython Programming with Google Colab
Python Programming with Google Colabvadhaniseetharaman
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020Noa Harel
 
Test Automation you'll actually Like - Gauge by ThoughtWorks
Test Automation you'll actually Like - Gauge by ThoughtWorksTest Automation you'll actually Like - Gauge by ThoughtWorks
Test Automation you'll actually Like - Gauge by ThoughtWorksGemunu Priyadarshana
 
How we spread out our service globally by utilizing AWS and open source soft...
How we spread out our service globally by utilizing  AWS and open source soft...How we spread out our service globally by utilizing  AWS and open source soft...
How we spread out our service globally by utilizing AWS and open source soft...Takashi Someda
 
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimSelenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimCodefresh
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineDevOps.com
 
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a ProSkip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a ProCodefresh
 
JCConf 2016 - Dataflow Workshop Labs
JCConf 2016 - Dataflow Workshop LabsJCConf 2016 - Dataflow Workshop Labs
JCConf 2016 - Dataflow Workshop LabsSimon Su
 
Cloud Study Jam ML API 3
Cloud Study Jam ML API 3Cloud Study Jam ML API 3
Cloud Study Jam ML API 3Duran Hsieh
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowPuppet
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For BeginnersRahul Nath
 
Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
Git into the Flow, with the Ultimate Continuous Delivery Workflow on HerokuGit into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
Git into the Flow, with the Ultimate Continuous Delivery Workflow on HerokuSalesforce Developers
 
Pain-free Source Control for Administrators and Developers
Pain-free Source Control for Administrators and DevelopersPain-free Source Control for Administrators and Developers
Pain-free Source Control for Administrators and DevelopersSalesforce Developers
 

What's hot (20)

How we built a job board in one week with JHipster
How we built a job board in one week with JHipsterHow we built a job board in one week with JHipster
How we built a job board in one week with JHipster
 
Firebase analytics event_201607
Firebase analytics event_201607Firebase analytics event_201607
Firebase analytics event_201607
 
GitOps Days EU 20 - Our journey building a self-service platform
GitOps Days EU 20 - Our journey building a self-service platformGitOps Days EU 20 - Our journey building a self-service platform
GitOps Days EU 20 - Our journey building a self-service platform
 
Introduction to using google colab
Introduction to using google colabIntroduction to using google colab
Introduction to using google colab
 
Google colab introduction
Google colab   introductionGoogle colab   introduction
Google colab introduction
 
Python Programming with Google Colab
Python Programming with Google ColabPython Programming with Google Colab
Python Programming with Google Colab
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020
 
Test Automation you'll actually Like - Gauge by ThoughtWorks
Test Automation you'll actually Like - Gauge by ThoughtWorksTest Automation you'll actually Like - Gauge by ThoughtWorks
Test Automation you'll actually Like - Gauge by ThoughtWorks
 
Supercharge your app with Cloud Functions for Firebase
Supercharge your app with Cloud Functions for FirebaseSupercharge your app with Cloud Functions for Firebase
Supercharge your app with Cloud Functions for Firebase
 
How we spread out our service globally by utilizing AWS and open source soft...
How we spread out our service globally by utilizing  AWS and open source soft...How we spread out our service globally by utilizing  AWS and open source soft...
How we spread out our service globally by utilizing AWS and open source soft...
 
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimSelenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release Pipeline
 
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a ProSkip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
 
Azure labs Vinicius
Azure labs ViniciusAzure labs Vinicius
Azure labs Vinicius
 
JCConf 2016 - Dataflow Workshop Labs
JCConf 2016 - Dataflow Workshop LabsJCConf 2016 - Dataflow Workshop Labs
JCConf 2016 - Dataflow Workshop Labs
 
Cloud Study Jam ML API 3
Cloud Study Jam ML API 3Cloud Study Jam ML API 3
Cloud Study Jam ML API 3
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
 
Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
Git into the Flow, with the Ultimate Continuous Delivery Workflow on HerokuGit into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
 
Pain-free Source Control for Administrators and Developers
Pain-free Source Control for Administrators and DevelopersPain-free Source Control for Administrators and Developers
Pain-free Source Control for Administrators and Developers
 

Similar to AI day2021 approcci DevOps per il rilascio continuo di modelli di machine learning su Azure

[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft AzureKorkrid Akepanidtaworn
 
Metaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixMetaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixBill Liu
 
仕事ではじめる機械学習
仕事ではじめる機械学習仕事ではじめる機械学習
仕事ではじめる機械学習Aki Ariga
 
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...Sotrender
 
201906 04 Overview of Automated ML June 2019
201906 04 Overview of Automated ML June 2019201906 04 Overview of Automated ML June 2019
201906 04 Overview of Automated ML June 2019Mark Tabladillo
 
Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...BizTalk360
 
Priming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the CloudPriming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the CloudMatt Callanan
 
DevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-usDevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-useltonrodriguez11
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with BackstageOpsta
 
Logic Apps – Deployments
Logic Apps – DeploymentsLogic Apps – Deployments
Logic Apps – DeploymentsBizTalk360
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersSarah Dutkiewicz
 
Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...BizTalk360
 
Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...
Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...
Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...Shift Conference
 
Build and deploy PyTorch models with Azure Machine Learning - Henk - CCDays
Build and deploy PyTorch models with Azure Machine Learning - Henk - CCDaysBuild and deploy PyTorch models with Azure Machine Learning - Henk - CCDays
Build and deploy PyTorch models with Azure Machine Learning - Henk - CCDaysCodeOps Technologies LLP
 
Infrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentInfrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentDatabricks
 
Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)wesley chun
 
I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)AZUG FR
 
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Marc Müller
 

Similar to AI day2021 approcci DevOps per il rilascio continuo di modelli di machine learning su Azure (20)

[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure
 
Metaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixMetaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at Netflix
 
仕事ではじめる機械学習
仕事ではじめる機械学習仕事ではじめる機械学習
仕事ではじめる機械学習
 
DEVOPS AND MACHINE LEARNING
DEVOPS AND MACHINE LEARNINGDEVOPS AND MACHINE LEARNING
DEVOPS AND MACHINE LEARNING
 
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
 
201906 04 Overview of Automated ML June 2019
201906 04 Overview of Automated ML June 2019201906 04 Overview of Automated ML June 2019
201906 04 Overview of Automated ML June 2019
 
Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...
 
Priming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the CloudPriming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the Cloud
 
DevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-usDevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-us
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
 
Logic Apps – Deployments
Logic Apps – DeploymentsLogic Apps – Deployments
Logic Apps – Deployments
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript Developers
 
Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...
 
MLOps in action
MLOps in actionMLOps in action
MLOps in action
 
Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...
Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...
Shift Remote AI: Build and deploy PyTorch Models with Azure Machine Learning ...
 
Build and deploy PyTorch models with Azure Machine Learning - Henk - CCDays
Build and deploy PyTorch models with Azure Machine Learning - Henk - CCDaysBuild and deploy PyTorch models with Azure Machine Learning - Henk - CCDays
Build and deploy PyTorch models with Azure Machine Learning - Henk - CCDays
 
Infrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentInfrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload Deployment
 
Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)
 
I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)
 
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
 

Recently uploaded

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 

Recently uploaded (20)

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 

AI day2021 approcci DevOps per il rilascio continuo di modelli di machine learning su Azure

  • 1. Approcci DevOps per il Rilascio Continuo di Modelli ML su Azure Igor Antonacci – Automation Lover Luca Milan – IT & DevOps addicted Combinare le pratiche DevOps e le potenzialità di GitHub per il rilascio continuo e condizionato di prodotti di AI su Azure.
  • 3. Agenda ❑Introduzione ❑DevOps & Machine Learning = MLOps ❑Tools e Metodologie ❑Demo Time
  • 4. © Copyright Microsoft Corporation. All rights reserved. Computer Science AI Development IT Operations
  • 6. ML: Ciclo di Vita Training Data Learning Process Learned Function Scoring or Serving Get fresh data and training again
  • 8. DevOps Pipeline 4 ML Data or Algorithm updated Function Code updated Infrastructure updated ML.NET Training Deploy Model Pulumi Up Deploy Function Yes DevOps Done No Build & Test Triggers C# Code
  • 9. Scoring/Serving Micro UI ML Training Predictor Micro UI Code + Data Github Pipelines (Re)Feed ML Pipeline Solution Overview
  • 10.
  • 12. © Copyright Microsoft Corporation. All rights reserved. Obiettivo organizzativo All’interno di un Team di sviluppo, facilitare il dispiegamento di Modelli di IA attraverso: • la COOPERAZIONE tra Data Scientists e IT Operations • L’AUTOMAZIONE del processo di Analisi, Sviluppo, Test e rilascio di un modello
  • 13. © Copyright Microsoft Corporation. All rights reserved. MLOps “With Machine Learning Model Operationalization Management (MLOps), we want to provide an end-to-end machine learning development process to design, build and manage reproducible, testable, and evolvable ML- powered software.” (cit. ML Ops: Machine Learning Operations (ml-ops.org))
  • 15. Branching model for Data Scientists MAIN experiment / model-refininig_001 experiment / ml-net_release-change_001 Pull Request ✓ Model (Code) ✓ Test ✓ Dataset ✓ Review ✓ Approve ✓ Merge
  • 16. GitHub Actions to the rescue COMMIT ✓ Model (Code) ✓ Test ✓ Dataset ✓ Build ✓ Test ✓ Training Pull-request ✓ Review ✓ Approve ✓ Merge Training Model
  • 17. GitHub Environments ✓ on push ✓ on pull-request ✓ … Job #1 Job #2 Action 1 – Setup .NET Core Action 2 – Build project Action 3 – Test project Action N – … Action 1 – GitVersion Action 2 – Create Release Action 3 – Publish Artifacts Action N – … Depends on Secrets ✓ on push ✓ on pull-request ✓ … Job #1 Job #2 Action 1 – Setup .NET Core Action 2 – Build project Action 3 – Test project Action N – … Action 1 – GitVersion Action 2 – Create Release Action 3 – Publish Artifacts Action N – … Depends on Environment Approvers
  • 18. GitHub Environments COMMIT ✓ Model (Code) ✓ Test ✓ Dataset ✓ Build ✓ Test ✓ Training ✓ Trained Model ✓ Dataset Pull-request ✓ Review ✓ Approve ✓ Merge Approvazione Promozione ✓ Review ✓ Approve Serving “Environment” Training Model Dispatch Message ▪ event_type: model-created ▪ message: | { "ML_MODEL_VERSION": vX.Y.Z-xxxx, "ML_MODEL_URI": https://github.com/igoran/.../${{ env.VERSION_NAME }}.zip }
  • 19. GitHub as Artifact Repository COMMIT ✓ Model (Code) ✓ Test ✓ Dataset ✓ Build ✓ Test ✓ Training ✓ Trained Model ✓ Dataset Pull-request ✓ Review ✓ Approve ✓ Merge Approvazione Promozione ✓ Review ✓ Approve Serving “Environment” Dispatch Message ▪ event_type: model-created ▪ message: | { "ML_MODEL_VERSION": vX.Y.Z-xxxx, "ML_MODEL_URI": https://github.com/igoran/.../${{ env.VERSION_NAME }}.zip } Training Model 0.1.0-c28c8ba
  • 20. GH Actions – Workflow Dispatch COMMIT ✓ Model (Code) ✓ Test ✓ Dataset ✓ Build ✓ Test ✓ Training ✓ Trained Model ✓ Dataset Pull-request ✓ Review ✓ Approve ✓ Merge Approvazione Promozione ✓ Review ✓ Approve Serving “Environment” Training Model Dispatch Message ▪ event_type: model-created ▪ message: | { "ML_MODEL_VERSION": vX.Y.Z-xxxx, "ML_MODEL_URI": https://github.com/igoran/.../${{ env.VERSION_NAME }}.zip }
  • 21. GH Actions – Workflow Dispatch SETUP INFRA ✓ Build ✓ Test Azure Deployment Slots model-created ✓ Trained Model ✓ Dataset Download Model PROD DEV Predictor
  • 23. Scoring/Serving Micro UI ML Training Predictor Micro UI Code + Data Github Pipelines (Re)Feed ML Pipeline Solution Overview
  • 24. © Copyright Microsoft Corporation. All rights reserved. PULUMI ▪ Infrastructure-as-Code Framework ▪ Multi-Platform Providers (AWS, Azure, GCP … ) ▪ (Multi-)Language oriented ▪ C#, Python, Go … ▪ CLI ed Engine multi piattaforma (pulumi) ▪ NO YAML ☺ ▪ Ambienti “sandboxed” →Stacks
  • 25. DEMO
  • 26.