How to estimate parallel jobs in Azure DevOps
Estimating parallel jobs for your Azure DevOps organisation is one of the trickiest question when trying to architect the build and release pipeline.
First let’s get the finances right before we get on to the estimates. For an account in free tier, you get one free parallel job on Microsoft-hosted agents which will run for 60 minutes each time capped at 1800 minutes per month or simply 30 hours per month. If the build time crosses 60 minutes, you’ll have to buy parallel jobs from Microsoft. Paid parallel jobs remove the monthly time limit and allow you to run each job for up to 360 minutes (6 hours). For Self-hosted agents, you get one parallel job with no time limits. Plus, for each active Visual Studio Enterprise subscriber who is a member of your organization, you get one additional self-hosted parallel job.
Since managing self-hosted agents can quickly pile up a lot of work, most of the architects recommend using Microsoft-hosted agents, as they are managed by Microsoft itself, hence no worries of issue related to underlying hardware and software until and unless it’s an outage.
In case an outage, your self-hosted agent would bring you out of troubles but that too will work if there’s not an outage related to platform.
Now, lets get on to the estimates.
Here’s a simple rule that would help you estimate:
“For every 4-5 active users in your Azure DevOps organisation, you’ll need one parallel job.“
As the number increases, so would increase their frequency of using pipelines, at that time so would increase the load on parallel jobs. So if you don’t want the users to end up in a queue waiting long for other jobs to complete, you would need to add an extra parallel job.
Let’s talk in terms of project teams, application deployment & active branches to add more context to this.
- If you have more than one team, and if each of them require a CI build, you would likely need a parallel job for each of them.
- If your CI build trigger applies to multiple branches, you’ll likely need a parallel job for each active branch.
- If you work on multiple applications by using one organization or server, you’ll likely need additional parallel jobs. One parallel job to deploy each application at the same time.
Hope this solves your problem of estimating the parallel jobs in Azure DevOps. To calculate the pricing involved in using the Azure DevOps services, it is recommended to use Azure DevOps pricing page to always get the up to date prices.
Open Source?
If you are an open source, then almost everything is free for you on Azure DevOps! Just head on this open source announcement from Microsoft and start enjoying the services of Azure DevOps.
References: