liupeirong/MLOpsManufacturing

Azure DevOps execution strategy per compute environment (dev, test, staing, prod)

liupeirong opened this issue · 2 comments

Azure DevOps execution strategy per compute environment (dev, test, staing, prod)

Glossary

Term Remark
compute environment the cloud infrastructure used for computation (e.g. AML pipeline run trigger) or targeted for deployment of MLOps artifacts (e.g. AML pipeline build) from within AzDO pipelines. The infrastructure boundaries what is dev, test, prod are very blurry in the MLOps space. e.g. the same AML workspace can be used for basically all stages but get executed on different AML compute targets, sometimes

Scenario or use case

Not duplicating code is a general software engineering practice. To avoid splitting up AzDO pipelines (yaml files) for each compute environment the project teams identified an elegant way of using different Variable Groups depending on the branch name the AzDO pipeline get's executed. In that Variable Groups the parameters for the different compute environment can be set and maintained.

Quick Win, if possible all teams should apply it to new samples

This is related or a sub-mechanism of #41

Acceptance criteria

  • One sample applying the approach
  • Documentation explaining the pattern and how to configurate and use it

Stretch Goal

  • Best Practice Documentation on approaching separation of compute environments in MLOps
  • Refactor as many samples as appropriate

Not yet in documents nor in a sample would like to keep this open.