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

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

Infrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentInfrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload Deployment
Databricks
 

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
 
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
 
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 ...
 
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

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 

Recently uploaded (20)

Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 

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.