Azure Container Registry SKUs

Azure Container Registry (ACR) is available in multiple service tiers, known as SKUs. These SKUs provide predictable pricing and several options for aligning to the capacity and usage patterns of your private Docker registry in Azure.

SKU Managed Description
Basic Yes A cost-optimized entry point for developers learning about Azure Container Registry. Basic registries have the same programmatic capabilities as Standard and Premium (Azure Active Directory authentication integration, image deletion, and web hooks). However, the included storage and image throughput are most appropriate for lower usage scenarios.
Standard Yes Standard registries offer the same capabilities as Basic, with increased included storage and image throughput. Standard registries should satisfy the needs of most production scenarios.
Premium Yes Premium registries provide the highest amount of included storage and concurrent operations, enabling high-volume scenarios. In addition to higher image throughput, Premium adds features like geo-replication for managing a single registry across multiple regions, and content trust (preview) for image tag signing.
Classic1 No This SKU enabled the initial release of the Azure Container Registry service in Azure. Classic registries are backed by a storage account that Azure creates in your subscription, which limits the ability for ACR to provide higher-level capabilities such as increased throughput and geo-replication.

1 The Classic SKU will be deprecated in March 2019. Use Basic, Standard, or Premium for all new container registries.

Choosing a higher-level SKU provides more performance and scale, however, all managed SKUs provide the same programmatic capabilities. With multiple service tiers, you can get started with Basic, then convert to Standard and Premium as your registry usage increases.

Managed vs. unmanaged

The Basic, Standard, and Premium SKUs are collectively known as managed registries, and Classic registries as unmanaged. The primary difference between the two is how your container images are stored.

Managed (Basic, Standard, Premium)

Managed registries benefit from image storage managed entirely by Azure. That is, a storage account that stores your images does not appear within your Azure subscription. There are several benefits gained by using one of the managed registry SKUs, discussed in-depth in Container image storage in Azure Container Registry. This article focuses on the managed registry SKUs and their capabilities.

Unmanaged (Classic)

Important

The Classic SKU is being deprecated, and will be unavailable after March 2019. Use Basic, Standard, or Premium for all new registries.

Classic registries are "unmanaged" in the sense that the storage account that backs a Classic registry resides within your Azure subscription. As such, you are responsible for the management of the storage account in which your container images are stored. With unmanaged registries, you can't switch between SKUs as your needs change (other than upgrading to a managed registry), and several features of managed registries are unavailable (for example, container image deletion, geo-replication, and webhooks).

For more information about upgrading a Classic registry to one of the managed SKUs, see Upgrade a Classic registry.

SKU feature matrix

The following table details the features and limits of the Basic, Standard, and Premium service tiers.

Resource Basic Standard Premium
Storage1 10 GiB 100 GiB 500 GiB
Max image layer size 20 GiB 20 GiB 50 GiB
ReadOps per minute2, 3 1,000 3,000 10,000
WriteOps per minute2, 4 100 500 2,000
Download bandwidth MBps2 30 60 100
Upload bandwidth MBps2 10 20 50
Webhooks 2 10 100
Geo-replication N/A N/A Supported
Content trust (preview) N/A N/A Supported

1 The specified storage limits are the amount of included storage for each tier. You're charged an additional daily rate per GiB for image storage above these limits. For rate information, see Container Registry pricing.

2 ReadOps, WriteOps, and Bandwidth are minimum estimates. ACR strives to improve performance as usage requires.

3 docker pull translates to multiple read operations based on the number of layers in the image, plus the manifest retrieval.

4 docker push translates to multiple write operations, based on the number of layers that must be pushed. A docker push includes ReadOps to retrieve a manifest for an existing image.

Changing SKUs

You can change a registry's SKU with the Azure CLI or in the Azure portal. You can move freely between managed SKUs as long as the SKU you're switching to has the required maximum storage capacity. If you switch to one of the managed SKUs from Classic, you cannot move back to Classic--it is a one-way conversion.

Azure CLI

To move between SKUs in the Azure CLI, use the az acr update command. For example, to switch to Premium:

az acr update --name myregistry --sku Premium

Azure portal

In the container registry Overview in the Azure portal, select Update, then select a new SKU from the SKU drop-down.

Update container registry SKU in Azure portal

If you have a Classic registry, you can't select a managed SKU within the Azure portal. Instead, you must first upgrade to a managed registry (see Changing from Classic).

Changing from Classic

There are additional considerations to take into account when migrating an unmanaged Classic registry to one of the managed Basic, Standard, or Premium SKUs. If your Classic registry contains a large number of images and is many gigabytes in size, the migration process can take some time. Additionally, docker push operations are disabled until the migration is complete.

For details on upgrading your Classic registry to one of the managed SKUs, see Upgrade a Classic container registry.

Pricing

For pricing information on each of the Azure Container Registry SKUs, see Container Registry pricing.

Next steps

Azure Container Registry Roadmap

Visit the ACR Roadmap on GitHub to find information about upcoming features in the service.

Azure Container Registry UserVoice

Submit and vote on new feature suggestions in ACR UserVoice.