MicrosoftDesign and implement an MLOps infrastructure

Azure Devops & Variable Groups — AI-300 Practice Question

A representative Microsoft Machine Learning Operations Engineer Associate (AI-300) exam question on Azure Devops & Variable Groups. Work through it below, then read why each option is right or wrong.

This question is part of the free Microsoft Machine Learning Operations Engineer Associate practice test.

Short answer

The correct answer is D. Use Azure DevOps variable groups to define environment-specific variables (e.g., `compute_cluster_name`) and reference these variables in the pipeline YAML, mapping them to different values in each environment's variable group..

D is correct. Azure DevOps variable groups are designed specifically for parameterizing CI/CD pipelines across environments. By defining a variable (e.g., `compute_cluster_name`) in the Dev and Prod variable groups with different values, the same pipeline YAML can be promoted without modification. A causes deployment failures in Production if the name doesn't match or vice versa. B violates DRY principles and creates maintenance nightmares. C is not a supported feature; service connections handle authentication, not resource renaming.

The Question

Your organization uses Azure DevOps to deploy Azure Machine Learning pipelines. You need to promote a pipeline definition from the Development project to the Production project. The Production project requires that the pipeline uses a specific compute cluster named 'Prod-Cluster' which does not exist in Development. How should you handle this configuration difference during promotion?

AHardcode compute: azureml:Prod-Cluster directly in the development pipeline YAML and commit it, so the same file targets Prod-Cluster in every environment, including Development where that cluster does not exist.
BCreate a separate Git repository for Production, manually copy the pipeline YAML into it, and edit the compute target to 'Prod-Cluster' by hand before each commit, keeping two diverging copies of the pipeline.
CUse an Azure Resource Manager service connection in the release stage to rename the 'Dev-Cluster' compute target to 'Prod-Cluster' during deployment, so the pipeline YAML finds a cluster with the expected name.
DUse Azure DevOps variable groups to define environment-specific variables (e.g., `compute_cluster_name`) and reference these variables in the pipeline YAML, mapping them to different values in each environment's variable group.Correct

Why D is correct

D is correct. Azure DevOps variable groups are designed specifically for parameterizing CI/CD pipelines across environments. By defining a variable (e.g., `compute_cluster_name`) in the Dev and Prod variable groups with different values, the same pipeline YAML can be promoted without modification. A causes deployment failures in Production if the name doesn't match or vice versa. B violates DRY principles and creates maintenance nightmares. C is not a supported feature; service connections handle authentication, not resource renaming.

Why the other options are wrong

Option A: Hardcode compute: azureml:Prod-Cluster directly in the development pipeline YAML and commit it, so the same file targets Prod-Cluster in every environment, including Development where that cluster does not exist.

Option A does not satisfy the requirement in the scenario. Review the explanation above: the correct choice (D) is the only one that fully meets every constraint stated in the question.

Option B: Create a separate Git repository for Production, manually copy the pipeline YAML into it, and edit the compute target to 'Prod-Cluster' by hand before each commit, keeping two diverging copies of the pipeline.

Option B does not satisfy the requirement in the scenario. Review the explanation above: the correct choice (D) is the only one that fully meets every constraint stated in the question.

Option C: Use an Azure Resource Manager service connection in the release stage to rename the 'Dev-Cluster' compute target to 'Prod-Cluster' during deployment, so the pipeline YAML finds a cluster with the expected name.

Option C does not satisfy the requirement in the scenario. Review the explanation above: the correct choice (D) is the only one that fully meets every constraint stated in the question.

Key idea: Azure Devops & Variable Groups

D is correct. Azure DevOps variable groups are designed specifically for parameterizing CI/CD pipelines across environments. By defining a variable (e.g., `compute_cluster_name`) in the Dev and Prod variable groups with different values, the same pipeline YAML can be promoted without modification. A causes deployment failures in Production if the name doesn't match or vice versa. B violates DRY principles and creates maintenance nightmares. C is not a supported feature; service connections handle authentication, not resource renaming. On the AI-300 exam, questions in the "Design and implement an MLOps infrastructure" domain test whether you can map a scenario's constraints to the right choice. Read the requirement carefully, eliminate options that violate any single constraint, and pick the one that satisfies all of them with the least operational overhead.

Ready to see how you'd score?

Take the free practice quiz and find out which Microsoft Machine Learning Operations Engineer Associate domains you need to focus on. No signup required.

Practice 5 similar questions

Same cert, same or adjacent domain. Use these after reviewing the explanation.

Related Microsoft Machine Learning Operations Engineer Associate Practice Questions

Official sources used

Verify program and exam details at the source before scheduling.