Azure Proactive Resiliency Library v2
Tools Glossary GitHub GitHub Issues Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

service

Summary

RecommendationImpactCategoryAutomation AvailableIn Azure Advisor
Migrate API Management services to Premium SKU to support Availability ZonesHighHigh AvailabilityYesNo
Enable Availability Zones on Premium API Management instancesHighHigh AvailabilityYesNo
Azure API Management platform version should be stv2HighHigh AvailabilityYesYes
Enable auto-scale for production workloads on API Management servicesLowHigh AvailabilityNoNo

Details


Migrate API Management services to Premium SKU to support Availability Zones

Impact:  High Category:  High Availability

APRL GUID:  baf3bfc0-32a2-4c0c-926d-c9bf0b49808e

Description:

Upgrading the API Management instance to the Premium SKU adds support for Availability Zones, enhancing availability and resilience by distributing services across physically separate locations within Azure regions.

Potential Benefits:

Enhanced availability and resilience
Learn More:
Change your API Management service tier
Migrate Azure API Management to availability zone support

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Find all API Management instances that aren't Premium
resources
| where type =~ 'Microsoft.ApiManagement/service'
| extend skuName = sku.name
| where tolower(skuName) != tolower('premium')
| project recommendationId = "baf3bfc0-32a2-4c0c-926d-c9bf0b49808e", name, id, tags, param1=strcat("SKU: ", skuName)


Enable Availability Zones on Premium API Management instances

Impact:  High Category:  High Availability

APRL GUID:  740f2c1c-8857-4648-80eb-47d2c56d5a50

Description:

Zone redundancy for APIM instances ensures the gateway and control plane (Management API, developer portal, Git configuration) are replicated across datacenters in physically separated zones, boosting resilience to zone failures.

Potential Benefits:

Improved resilience to zone failures
Learn More:
Ensure API Management availability and reliability
Migrate Azure API Management to availability zone support

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Find all Premium API Management instances that aren't zone redundant
resources
| where type =~ 'Microsoft.ApiManagement/service'
| where location in~ ("australiaeast", "brazilsouth", "canadacentral", "centralindia", "centralus", "eastasia", "eastus", "eastus2", "francecentral", "germanywestcentral", "israelcentral", "italynorth", "japaneast", "japanwest", "koreacentral", "mexicocentral", "newzealandnorth", "northeurope", "norwayeast", "polandcentral", "qatarcentral", "southafricanorth", "southcentralus", "southeastasia", "spaincentral", "swedencentral", "switzerlandnorth", "uaenorth", "uksouth", "westeurope", "westus2", "westus3", "usgovvirginia", "chinanorth3")
| extend skuName = sku.name
| where tolower(skuName) == tolower('premium')
| where isnull(zones) or array_length(zones) < 2
| extend zoneValue = iff((isnull(zones)), "null", zones)
| project recommendationId = "740f2c1c-8857-4648-80eb-47d2c56d5a50", name, id, tags, param1="Zones: No Zone or Zonal", param2=strcat("Zones value: ", zoneValue )



Azure API Management platform version should be stv2

Impact:  High Category:  High Availability

APRL GUID:  e35cf148-8eee-49d1-a1c9-956160f99e0b

Description:

stv1 instances were deprecated on August 31, 2024. If not migrated to stv2 by then, auto-migration will occur. In some cases, due to technical limitations, services may be shut down in March 2025.

Potential Benefits:

Ensures service continuity
Learn More:
Azure API Management - stv1 platform retirement (August 2024)
Azure API Management compute platform

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Find all API Management instances that aren't upgraded to platform version stv2
resources
| where type =~ 'Microsoft.ApiManagement/service'
| extend plat_version = properties.platformVersion
| extend skuName = sku.name
| where tolower(plat_version) != tolower('stv2')
| project recommendationId = "e35cf148-8eee-49d1-a1c9-956160f99e0b", name, id, tags, param1=strcat("Platform Version: ", plat_version) , param2=strcat("SKU: ", skuName)



Enable auto-scale for production workloads on API Management services

Impact:  Low Category:  High Availability

APRL GUID:  c79680ea-de85-44fa-a596-f31fa17a952f

Description:

Use API Management with auto-scale for high availability in workloads that experience variable traffic patterns. There are several limitations with auto-scale, so review the documentation to ensure it meets your requirements.

Potential Benefits:

Enhanced availability and resilience
Learn More:
Setting up auto-scale for Azure API Management

ARG Query:

Click the Azure Resource Graph tab to view the query

// cannot-be-validated-with-arg