During the past few days, I received several emails from people asking why their CI/CD pipelines started randomly receiving errors like the following:
Since 2018, Azure DevOps Services has provided free CI/CD pipelines for its users. By default, it allowed a developer to run arbitrary code for up to 1800 free minutes per month on Microsoft-hosted agents and ten parallel jobs for public projects. However, the market capitalization of cryptocurrency has skyrocketed in recent years, and as a result, it has become very profitable for some folks to violate the terms of service of PaaS providers’ free tiers, like Azure DevOps, to run cryptocurrency miners as a step in their build pipeline.
“…cryptocurrency surged from $190 billion in January of 2020 to $2 trillion in April of 2021..” CEO of DevOps platform LayerCI, Colin Chartier
Without getting into details, cryptocurrency mining is a process that allows cryptocurrencies to work as a peer-to-peer decentralized network by verifying and adding transactions into the blockchain public ledger or even generate new coins. This process requires high-performance machines, and often they hijack system hardware resources like the CPU, GPU, and network bandwidth, affecting the entire host. As a result, Azure DevOps users saw a degradation in the service, increasing the build time from 20 to 50 percent.
To guarantee a certain level of performance for its customers, Microsoft marked those activities as abusive and, after seeing an increase in the number of projects used for this purpose on Azure DevOps, announced on February 18th, 2021, that it would stop granting free pipelines to new public projects. Sequentially, crypto miners shifted to private projects forcing Microsoft to do the same for private projects on March 16th, 2021.
IMPORTANT: This change does not impact any existing organizations. It only affects new public/private projects that you create in new Azure DevOps organizations.
You can still enjoy the free tier, but to do so, you must send an email to firstname.lastname@example.org and provide the following details:
- Your name
- Azure DevOps organization for which you are requesting the free grant
For public projects, you must also include:
- Links to the repositories that you plan to build
- Brief description of your project Once the request is received, their team will review and respond in 2–3 business days.
- Announcement change in Azure Pipelines Grant for Public Projects: https://devblogs.microsoft.com/devops/change-in-azure-pipelines-grant-for-public-projects/
- Announcement change in Azure Pipelines Grant for Private Projects: https://devblogs.microsoft.com/devops/change-in-azure-pipelines-grant-for-private-projects/
- Azure DevOps status: https://status.dev.azure.com/_event/235501110