Azure's feature of deploying App Service plans across availability zones enhances resiliency and reliability by ensuring operation during datacenter failures, providing redundancy without needing different regions, thus minimizing downtime and maintaining uninterrupted services.
Click the Azure Resource Graph tab to view the query
//AzureResourceGraphQuery//ThequeryfiltersthequalifiedAppServicePlansthatdonothaveZoneRedundancyenabled.//ItsimportanttocheckregionsthatsupportavailabilityzonesforAzureAppServicesrunningonmulti-tenantandAppServiceEnvironmentshttps://learn.microsoft.com/en-us/azure/reliability/reliability-app-service?tabs=graph%2Ccli#:~:text=The%20following%20regions%20support%20Azure%20App%20Services%20running%20on%20multi%2Dtenant%20environments%3Aresources|wheretype=~'microsoft.web/serverfarms'|wherelocationin~("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")|extendzoneRedundant=tobool(properties.zoneRedundant)|extendsku_tier=tostring(sku.tier)|where(tolower(sku_tier)contains"isolated"ortolower(sku_tier)contains"premium")andzoneRedundant==false|projectrecommendationId="88cb90c2-3b99-814b-9820-821a63f600dd",name,id,tags,param1=sku_tier,param2="Not Zone Redundant"
Use Standard or Premium tier
Impact:HighCategory:High Availability
APRL GUID:b2113023-a553-2e41-9789-597e2fb54c31
Description:
Choose Standard/Premium Azure App Service Plan for robust apps with advanced scaling, high availability, better performance, and multiple slots, ensuring resilience and continuous operation.
Create separate App Service plans for production and test
Impact:HighCategory:Governance
APRL GUID:dbe3fd66-fb2a-9d46-b162-1791e21da236
Description:
It is strongly recommended to create separate App Service plans for production and test environments to avoid using slots within your production deployment for testing purposes.
Click the Azure Resource Graph tab to view the query
//cannot-be-validated-with-arg
Enable Autoscale/Automatic scaling to ensure adequate resources are available to service requests
Impact:MediumCategory:Scalability
APRL GUID:6320abf6-f917-1843-b2ae-4779c35985ae
Description:
Enabling Autoscale/Automatic Scaling for your Azure App Service ensures sufficient resources for incoming requests. Autoscaling is rule-based, whereas Automatic Scaling, a newer feature, automatically adjusts resources based on HTTP traffic.
Click the Azure Resource Graph tab to view the query
//under-development
Set minimum instance count to 2 for app service
Impact:HighCategory:Scalability
APRL GUID:855ca19a-6518-4f2e-9e5a-01796fbca9f8
Description:
App Service should be configured with a minimum of two instances for production workloads. If apps have a longer warmup time a minimum of three instances should be used.
Click the Azure Resource Graph tab to view the query
//AzureResourceGraphQuery//ProvidesalistofAppservicesthatdonothaveminimuminstancecountof2resources|wheretype=="microsoft.web/serverfarms"|wheresku.capacity<2|projectrecommendationId="855ca19a-6518-4f2e-9e5a-01796fbca9f8",name,id,tags,param1="Instance count is less than 2"