Microsoft Azure imposes limits and quotas on how many resources of each type you can provision per Azure Subscription, and even per Azure Region. Some limits are a hard maximum, while others are a soft limit that can be increases upon request. When working with Virtual Machines (VMs), Storage Accounts, Databases, and other resources in the Microsoft Azure cloud you can easily hit up against these limits, so it’s important to know they exist and how to work around them. This article will explain the details around the Limits and Quotas on resources within Microsoft Azure; including tips on how to work around these limits to scale as high as your organization needs.
Azure Subscription Limits
Microsoft Azure is generally thought of as being a limitless and infinitely scalable cloud. Of course we do know that the “Cloud” is really made up of servers, racks, network switches, power supplies, and other computing hardware that makes up any data center. However, the infinitely scalable idea still persists. After all, it really does seem to be limitless when you can spin up a new VM, Storage Account, or other resource in the Microsoft Azure cloud in a few seconds or minutes and get computing.
The hard truth about the cloud is that being made up of real hardware there are in fact limits to it’s scalability. As a result, Microsoft does impose a few limitations to on a “Per Azure Subscription” basis via Subscription Limits and Quotas. Sure you can use multiple subscriptions to essentially get around the limits, but it’s important to first know what they are so you can plan your infrastructure accordingly.
Microsoft does impose a few limitations to on a “Per Azure Subscription” basis via Subscription Limits and Quotas.
Here’s the list of the Azure Subscription limits when you use Azure Resource Manager (ARM) and Azure Resource Groups:
| Resource | Limit |
|---|---|
| Number of Azure Subscriptions associated with Microsoft Entra tenant | Unlimited |
| Coadministrators per subscription | Unlimited |
| Resource Groups per Subscription | 980 |
| Tags per Subscription | 50 |
| Subscription-level deployments per location | 800 |
| Locations of Subscription-level deployments | 10 |
Azure Resource Group Limits
One of the little known facts regarding Limits and Quotas in Microsoft Azure is that even Resource Groups have limits on the number of resources and other things on an individual Resource Group. While these limits are rarely hit, it’s still good to know they exist.
| Resource | Limit |
|---|---|
| Resources per Resource Group | Resources aren’t limited by Resource Group. Limits are imposed by Resource Type within the Resource Group. |
| Resources per Resource Group, per Resource Type | 800 (Some resource types can exceed the 800 limit) |
| Deployments per resource group in the deployment history | 800 |
| Resources per deployment | 800 |
| Management locks per unique scope | 20 |
| Number of tags per resource or resource group | 50 |
| Tag key length | 512 |
| Tag value length | 256 |
ARM Template / Azure Bicep Template Limits
There are some limits when using Azure Resource Manager (ARM) Templates and Azure Bicep templates to manage Azure resource deployments.
| Type | Limit |
|---|---|
| Parameters | 256 |
| Variables | 256 |
| Resources (inclusing copy count) | 800 |
| Outputs | 64 |
| Template expressions | 24,576 chars |
| Resources in exported templates | 200 |
| Template size | 4 MB |
| Resource definition size | 1 MB |
| Parameter file size | 4 MB |
Keep in mind that you can exceed some template limits by using nested templates as a workaround. Nested templates can also be a helpful way to organize larger template deployments to be more manageable too.
Why are there Resource Limits and Quotas?
Azure resource limits and quotas are NOT some arbitrary limits that Microsoft imposes to keep you from fully utilizing the cloud. Microsoft Azure Limits and Quotas protect Microsoft and YOU (the customer) from gross overspending in the cloud by accident. In fact, the “Per Azure Subscription” and “Per Azure Region” limits and quotas are helpful for a couple different reasons.
- Quotas help limit the ability of your Administrators, Developers and other employees from spending far more in the cloud than you’ve budgeted without taking away their flexibility and agility to do their jobs.
- Limits help keep you cloud spending predictable by not allowing you to spin up the resources that could generate a huge monthly bill without you doing it on purpose. This save you and Microsoft money since they’d likely need to refund lots of cloud spending if all customers were allowed to go unchecked.
- Limits help Microsoft throttle the growth of cloud usage; both within individual Azure Regions, as well as Globally across all their datacenter and regions. This allows Microsoft to ensure that individual customers aren’t able to overload any particular Azure Region or data center unexpectedly.
Resource Limits protect YOU from accidentally going bankrupt by generating huge monthly spend before realizing the full cost of your Azure Resources.
Resource Limits aren’t just for benefiting Microsoft. There are some side effects of Azure Resource Limits that help customers of Microsoft Azure better architect their applications and workloads for the cloud; specifically when it comes to “Per Azure Region” maximum limits. These maximum limits can cause you to utilize multiple Azure Regions in certain cases when provisioning resources within a single Azure Subscription. This can have the affect of causing you to spread your workloads across multiple data centers causing you to have a more resilient cloud footprint by not relying on a single data center or Azure Region for all your workloads.
You can view the official list of the limits for Azure Subscriptions and Resources within the official Azure documentation.
Original Article Source: Microsoft Azure Resource and Service Limits and Quotas written by Chris Pietschmann (If you're reading this somewhere other than Build5Nines.com, it was republished without permission.)
Implementing Azure Naming Conventions at Scale with Terraform and Build5Nines/naming/azure (AzureRM + Region Pairs)
Microsoft Azure Regions: Interactive Map of Global Datacenters
Create Azure Architecture Diagrams with Microsoft Visio
New Book: Build and Deploy Apps using Azure Developer CLI by Chris Pietschmann
Prompt Noise Is Killing Your AI Accuracy: How to Optimize Context for Grounded Output



Hi,
This article is very helpful. I have question about this:
Azure Resource Soft / Default Limit Hard / Max Limit
Resources per Resource Group (per resource type) 800 varies per resource type
Can you tell me for Virtual machines, what the Hard/Max Limit?
Thanks,
Long
Is there any way to decrease these limits? We do not want our partner working on our subscription to build too much VMs or use too many resources.
You can submit a support ticket to either increase or decrease certain limits.
Do you know if we can control VM CPU limits, specifically something like Virtual Machine limit option in Hyper-V. Ex. https://social.technet.microsoft.com/Forums/getfile/299713
There are some performance bugs that we miss due to our test boxes being too fast, so we deliberately throttle down the CPU of the VMs. We would like to scale, and this is essential.
The equivalent of limiting the CPU of the VM in Azure IaaS would be choosing a different pricing tier / VM instance size for the VM. The instance size determines what CPU, Memory, Storage resources are supported for the Virtual Machine (VM).
Does the free account with $200 provided by Azure has limitations on VMs sizes. I am trying to use it to create the AKS cluster using rancher AKS service but no success. Is it due to free account?
Yes the Free Trial has limitations. If you convert to Pay as you go then the limitation will be lifted, but you’ll have to pay for your full usage then.
Is there any costing while increasing the vcpus quota limits for paid subscription
Azure is billed on what you use. The Quotas do note have a cost associated with them.