3
votes

My dev team is using Azure Devops' Microsoft hosted build agent, but would like to have a higher performing build agent. The current build time for us is sometimes taking more than 5 mins which is not desirable.

We would prefer not to go self-hosted route as then we will require the task of managing our own build agents. We simply do not have the resources for such a task at this stage.

Is it possible to upgrade to a higher performing Microsoft-hosted build agent on Azure DevOps?

It could simply be that we need to optimise how we a structuring our builds, and then will improve the build time - but would like to know if such an option available.

Thank you!

2

2 Answers

2
votes

The answer is No!

Please see below answer from Microsoft site.

We can't increase the memory, processing power, or disk space for Microsoft-hosted agents, but you can use a self-hosted agent that is hosted on a machine that has your desired specifications.

You can also consider using parallel jobs to build your pipeline as a workaround.

This blog Reducing Longer Build Times in CI Pipelines — Parallel Builds & Build Agents with Azure DevOps might be helpful to you.

2
votes

Looking at docs there is no a way to get better machine:

Microsoft-hosted agents:

  • Have the above software. You can also add software during your build or release using tool installer tasks.
  • Provide at least 10 GB of storage for your source and build outputs.
  • Provide a free tier:
    • Public project: 10 free Microsoft-hosted parallel jobs that can run for up to 360 minutes (6 hours) each time, with no overall time limit per month. Contact us to get your free tier limits increased.
    • Private project: One free parallel job that can run for up to 60 minutes each time, until you've used 1,800 minutes (30 hours) per month. You can pay for additional capacity per parallel job. Paid parallel jobs remove the monthly time limit and allow you to run each job for up to 360 minutes (6 hours). Buy Microsoft-hosted parallel jobs.
  • Run on Microsoft Azure general purpose virtual machines Standard_DS2_v2
  • Run as an administrator on Windows and a passwordless sudo user on Linux
  • (Linux only) Run steps in a cgroup that offers 6 GB of physical memory and 13 GB of total memory

and what is important in your context:

If Microsoft-hosted agents don't meet your needs, then you can deploy your own self-hosted agents.

At the moment of writing this (04/06/2020) there is a partial solution for your needs. So this not not entirely Microsoft Hosted agents but this is sth betwwen Microsoft Hosted agents and self hosted agents. It is a scale set:

We are previewing a new feature called scale set agents which pairs the convenience and elastic capacity of the Microsoft-hosted agents with the control and flexibility of self-hosted agents. With this preview, we now enable you to manage agents to your specification, completely automated, in your Azure subscription. You may want to consider using scale set agents instead of Microsoft-hosted or self-hosted agents when you:

  • need more memory, more processor, more storage, or more I/O than what we offer in native Microsoft-hosted agents
  • do not want to whitelist a large number of IP addresses within your corporate firewall to enable Microsoft-hosted agents to communicate with your servers
  • need more Microsoft-hosted agents than we can provide to meet your large scale needs
  • need the ability to partition Microsoft-hosted parallel jobs to individual projects or teams in your organization do not want to run dedicated agents around the clock but instead want to de-provision agent machines that are not being actively utilized

To use scale set agents, you will first create a VM scale set in your Azure subscription, and then create an agent pool in Azure Pipelines to point to that scale set. Azure Pipelines will automatically scale this pool based on the number of pending jobs and the number of idle machines that you wish to maintain at all times. Azure Pipelines will also install the agent for you on these virtual machines. For more information, see scale set agents. As you preview the feature, please include your feedback on the documentation page.