Azure Scale Sets and Parallel Jobs

86 views Asked by At

I'm currently exploring the transition from Microsoft-hosted agents to Azure Scale Sets for our CI/CD pipelines in Azure DevOps. However, I'm trying to wrap my head around the actual benefits of this move, especially considering we have a fixed limit on the number of parallel jobs we can run at any given time (e.g., 10 parallel jobs).

Given this constraint, would switching to Azure Scale Sets truly offer significant advantages? My understanding is that even with scale sets, we would still be bound by our parallel job limit, so I'm curious about how scale sets might improve our CI/CD process efficiency, cost management, or resource utilization.

Thank you

1

There are 1 answers

0
KonTheCat On

There are two substantial advantages for a VM Scale Set as Azure DevOps pipeline agents, both deriving from the fact that they are VMs running in your Azure environment: (1) connectivity to resources using Private Endpoints and (2) the ability to use a User-Assigned Managed Identity assigned to the scale set as the authentication backing the service connection between Azure DevOps and Azure.

In terms of management complexity, management complexity is much higher by definition because you have your own compute resources. In practice, I have not had to do any management after setting these up - especially since I have the configuration from the Azure DevOps side such that agents are destroyed and re-created after pipeline runs, with a minimal number always available. I also used ephemeral disks, while the cost in my case would not be significant, why pay for things that one does not need? There will presumably be some management effort when the Scale Set needs to be switched to a new version of Linux but one way or another that will not be significant.