diff --git a/azure-resources/Network/trafficManagerProfiles/kql/1ad9d7b7-9692-1441-a8f4-93792efbe97a.kql b/azure-resources/Network/trafficManagerProfiles/kql/1ad9d7b7-9692-1441-a8f4-93792efbe97a.kql index 62b578dfe..74e92dbf7 100644 --- a/azure-resources/Network/trafficManagerProfiles/kql/1ad9d7b7-9692-1441-a8f4-93792efbe97a.kql +++ b/azure-resources/Network/trafficManagerProfiles/kql/1ad9d7b7-9692-1441-a8f4-93792efbe97a.kql @@ -1,2 +1,15 @@ -// cannot-be-validated-with-arg - +// Azure Resource Graph Query +// Find traffic manager profiles that do not have at least two endpoints in different regions +resources +| where type == "microsoft.network/trafficmanagerprofiles" +| extend endpoints = properties.endpoints +| mv-expand endpoint = endpoints +| extend endpointLocation = endpoint.properties.endpointLocation +| summarize + regions = makeset(endpointLocation), + tags = any(tags), + name = any(name) + by id +| extend regionCount = array_length(regions) +| where regionCount <= 1 +| project recommendationId = "1ad9d7b7-9692-1441-a8f4-93792efbe97a", name, id, tags, param1 = regions diff --git a/azure-resources/Network/trafficManagerProfiles/recommendations.yaml b/azure-resources/Network/trafficManagerProfiles/recommendations.yaml index 91c11f307..eeb320977 100644 --- a/azure-resources/Network/trafficManagerProfiles/recommendations.yaml +++ b/azure-resources/Network/trafficManagerProfiles/recommendations.yaml @@ -47,7 +47,7 @@ Profiles should have multiple endpoints to ensure availability in case an endpoint fails. It's also advised to distribute these endpoints across different regions for enhanced reliability. potentialBenefits: Enhances availability across regions pgVerified: true - automationAvailable: false + automationAvailable: true tags: null learnMoreLink: - name: Reliability recommendations diff --git a/azure-resources/Network/virtualNetworkGateways/kql/bbe668b7-eb5c-c746-8b82-70afdedf0cae.kql b/azure-resources/Network/virtualNetworkGateways/kql/bbe668b7-eb5c-c746-8b82-70afdedf0cae.kql index 07ec063da..860a8763b 100644 --- a/azure-resources/Network/virtualNetworkGateways/kql/bbe668b7-eb5c-c746-8b82-70afdedf0cae.kql +++ b/azure-resources/Network/virtualNetworkGateways/kql/bbe668b7-eb5c-c746-8b82-70afdedf0cae.kql @@ -1,7 +1,7 @@ // Azure Resource Graph Query // For all VNGs of type ExpressRoute, show all that are not zone redundant (Zonal or Regional) advisorresources -| where properties.recommendationTypeId == 'c9af1ef6-55bc-48af-bfe4-2c80490159f8' // RecommendationID from Advisor +| where properties.recommendationTypeId =~ 'c9af1ef6-55bc-48af-bfe4-2c80490159f8' // RecommendationID from Advisor | mv-expand resId = properties.resourceMetadata.resourceId | extend resId = tostring(resId) | project recId = properties.recommendationTypeId, resId diff --git a/tools/data/recommendations.json b/tools/data/recommendations.json index 0053c9e7f..2dad3c46e 100644 --- a/tools/data/recommendations.json +++ b/tools/data/recommendations.json @@ -5,8 +5,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/overview#resource-group-location-alignment", - "name": "Azure Resource Manager Overview" + "name": "Azure Resource Manager Overview", + "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/overview#resource-group-location-alignment" } ], "recommendationControl": "Disaster Recovery", @@ -26,12 +26,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-bulk-identity-mgmt", - "name": "Import and export IoT Hub device identities in bulk" + "name": "Import and export IoT Hub device identities in bulk", + "url": "https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-bulk-identity-mgmt" }, { - "url": "https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-ha-dr#manual-failover", - "name": "IoT Hub high availability and disaster recovery" + "name": "IoT Hub high availability and disaster recovery", + "url": "https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-ha-dr#manual-failover" } ], "recommendationControl": "Disaster Recovery", @@ -51,8 +51,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-scaling", - "name": "Choose the right IoT Hub tier and size for your solution" + "name": "Choose the right IoT Hub tier and size for your solution", + "url": "https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-scaling" } ], "recommendationControl": "High Availability", @@ -72,8 +72,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-ha-dr#availability-zones", - "name": "Azure IoT Hub high availability and disaster recovery" + "name": "Azure IoT Hub high availability and disaster recovery", + "url": "https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-ha-dr#availability-zones" } ], "recommendationControl": "High Availability", @@ -93,16 +93,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/iot-dps/concepts-service", - "name": "IoT Hub Device Provisioning Service (DPS) terminology" + "name": "IoT Hub Device Provisioning Service (DPS) terminology", + "url": "https://learn.microsoft.com/en-us/azure/iot-dps/concepts-service" }, { - "url": "https://learn.microsoft.com/en-us/azure/iot-dps/concepts-deploy-at-scale", - "name": "Best practices for large-scale IoT device deployments" + "name": "Best practices for large-scale IoT device deployments", + "url": "https://learn.microsoft.com/en-us/azure/iot-dps/concepts-deploy-at-scale" }, { - "url": "https://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-ha-dr", - "name": "IoT Hub Device Provisioning Service high availability and disaster recovery" + "name": "IoT Hub Device Provisioning Service high availability and disaster recovery", + "url": "https://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-ha-dr" } ], "recommendationControl": "Scalability", @@ -122,8 +122,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-ha-dr", - "name": "IoT Hub high availability and disaster recovery" + "name": "IoT Hub high availability and disaster recovery", + "url": "https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-ha-dr" } ], "recommendationControl": "High Availability", @@ -143,8 +143,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-d2c#fallback-route", - "name": "Use message routing - Fallback route" + "name": "Use message routing - Fallback route", + "url": "https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-d2c#fallback-route" } ], "recommendationControl": "Monitoring and Alerting", @@ -164,8 +164,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-app-configuration/concept-soft-delete#purge-protection", - "name": "Purge protection" + "name": "Purge protection", + "url": "https://learn.microsoft.com/en-us/azure/azure-app-configuration/concept-soft-delete#purge-protection" } ], "recommendationControl": "Governance", @@ -185,8 +185,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-app-configuration/faq#which-app-configuration-tier-should-i-use", - "name": "Choose App Configuration tier" + "name": "Choose App Configuration tier", + "url": "https://learn.microsoft.com/en-us/azure/azure-app-configuration/faq#which-app-configuration-tier-should-i-use" } ], "recommendationControl": "High Availability", @@ -206,8 +206,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/generation-2#features-and-capabilities", - "name": "Generation 1 vs generation 2 virtual machines" + "name": "Generation 1 vs generation 2 virtual machines", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/generation-2#features-and-capabilities" } ], "recommendationControl": "High Availability", @@ -227,12 +227,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/reliability/reliability-image-builder?toc=%2Fazure%2Fvirtual-machines%2Ftoc.json&bc=%2Fazure%2Fvirtual-machines%2Fbreadcrumb%2Ftoc.json&tabs=graph#disaster-recovery", - "name": "Image Template resiliency" + "name": "Image Template resiliency", + "url": "https://learn.microsoft.com/en-us/azure/reliability/reliability-image-builder?toc=%2Fazure%2Fvirtual-machines%2Ftoc.json&bc=%2Fazure%2Fvirtual-machines%2Fbreadcrumb%2Ftoc.json&tabs=graph#disaster-recovery" }, { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/image-builder-overview?tabs=azure-powershell#regions", - "name": "Azure Image Builder Supported Regions" + "name": "Azure Image Builder Supported Regions", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/image-builder-overview?tabs=azure-powershell#regions" } ], "recommendationControl": "Disaster Recovery", @@ -252,12 +252,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/storage/common/storage-redundancy", - "name": "Azure Storage redundancy" + "name": "Azure Storage redundancy", + "url": "https://learn.microsoft.com/azure/storage/common/storage-redundancy" }, { - "url": "https://learn.microsoft.com/azure/storage/common/redundancy-migration", - "name": "Change the redundancy configuration for a storage account" + "name": "Change the redundancy configuration for a storage account", + "url": "https://learn.microsoft.com/azure/storage/common/redundancy-migration" } ], "recommendationControl": "High Availability", @@ -277,12 +277,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://azure.microsoft.com/updates/classic-azure-storage-accounts-will-be-retired-on-31-august-2024/", - "name": "Azure classic storage accounts retirement announcement" + "name": "Azure classic storage accounts retirement announcement", + "url": "https://azure.microsoft.com/updates/classic-azure-storage-accounts-will-be-retired-on-31-august-2024/" }, { - "url": "https://learn.microsoft.com/azure/storage/common/classic-account-migration-overview", - "name": "Migrate your classic storage accounts to Azure Resource Manager" + "name": "Migrate your classic storage accounts to Azure Resource Manager", + "url": "https://learn.microsoft.com/azure/storage/common/classic-account-migration-overview" } ], "recommendationControl": "Service Upgrade and Retirement", @@ -302,24 +302,24 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/storage/common/storage-account-overview#types-of-storage-accounts", - "name": "Types of storage accounts" + "name": "Types of storage accounts", + "url": "https://learn.microsoft.com/azure/storage/common/storage-account-overview#types-of-storage-accounts" }, { - "url": "https://learn.microsoft.com/azure/storage/common/scalability-targets-standard-account", - "name": "Scalability and performance targets for standard storage accounts" + "name": "Scalability and performance targets for standard storage accounts", + "url": "https://learn.microsoft.com/azure/storage/common/scalability-targets-standard-account" }, { - "url": "https://learn.microsoft.com/azure/storage/blobs/storage-performance-checklist", - "name": "Performance and scalability checklist for Blob storage" + "name": "Performance and scalability checklist for Blob storage", + "url": "https://learn.microsoft.com/azure/storage/blobs/storage-performance-checklist" }, { - "url": "https://learn.microsoft.com/azure/storage/blobs/scalability-targets", - "name": "Scalability and performance targets for Blob storage" + "name": "Scalability and performance targets for Blob storage", + "url": "https://learn.microsoft.com/azure/storage/blobs/scalability-targets" }, { - "url": "https://learn.microsoft.com/azure/storage/blobs/storage-blob-block-blob-premium", - "name": "Premium block blob storage accounts" + "name": "Premium block blob storage accounts", + "url": "https://learn.microsoft.com/azure/storage/blobs/storage-blob-block-blob-premium" } ], "recommendationControl": "Scalability", @@ -339,8 +339,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com//azure/storage/blobs/soft-delete-blob-enable?tabs=azure-portal ", - "name": "Soft delete detail docs" + "name": "Soft delete detail docs", + "url": "https://learn.microsoft.com//azure/storage/blobs/soft-delete-blob-enable?tabs=azure-portal " } ], "recommendationControl": "Disaster Recovery", @@ -360,8 +360,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/storage/blobs/versioning-overview ", - "name": "Blob versioning" + "name": "Blob versioning", + "url": "https://learn.microsoft.com/azure/storage/blobs/versioning-overview " } ], "recommendationControl": "Disaster Recovery", @@ -381,12 +381,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/storage/blobs/point-in-time-restore-overview", - "name": "Point-in-time restore for block blobs" + "name": "Point-in-time restore for block blobs", + "url": "https://learn.microsoft.com/azure/storage/blobs/point-in-time-restore-overview" }, { - "url": "https://learn.microsoft.com/azure/storage/blobs/point-in-time-restore-manage?tabs=portal", - "name": "Perform a point-in-time restore on block blob data" + "name": "Perform a point-in-time restore on block blob data", + "url": "https://learn.microsoft.com/azure/storage/blobs/point-in-time-restore-manage?tabs=portal" } ], "recommendationControl": "Disaster Recovery", @@ -406,12 +406,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/storage/blobs/monitor-blob-storage", - "name": "Monitor Azure Blob Storage" + "name": "Monitor Azure Blob Storage", + "url": "https://learn.microsoft.com/azure/storage/blobs/monitor-blob-storage" }, { - "url": "https://learn.microsoft.com/azure/storage/blobs/blob-storage-monitoring-scenarios", - "name": "Best practices for monitoring Azure Blob Storage" + "name": "Best practices for monitoring Azure Blob Storage", + "url": "https://learn.microsoft.com/azure/storage/blobs/blob-storage-monitoring-scenarios" } ], "recommendationControl": "Monitoring and Alerting", @@ -431,12 +431,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/storage/common/storage-account-overview#legacy-storage-account-types", - "name": "Legacy storage account types" + "name": "Legacy storage account types", + "url": "https://learn.microsoft.com/azure/storage/common/storage-account-overview#legacy-storage-account-types" }, { - "url": "https://learn.microsoft.com/azure/storage/common/storage-account-upgrade", - "name": "Upgrade to a general-purpose v2 storage account" + "name": "Upgrade to a general-purpose v2 storage account", + "url": "https://learn.microsoft.com/azure/storage/common/storage-account-upgrade" } ], "recommendationControl": "Scalability", @@ -456,12 +456,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/architecture/example-scenario/wvd/windows-virtual-desktop#azure-virtual-desktop-limitations", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/en-us/azure/architecture/example-scenario/wvd/windows-virtual-desktop#azure-virtual-desktop-limitations" }, { - "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-virtual-desktop/networking#private-endpoints-private-link", - "name": "Private Link" + "name": "Private Link", + "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-virtual-desktop/networking#private-endpoints-private-link" } ], "recommendationControl": "Security", @@ -481,16 +481,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/well-architected/services/messaging/service-bus/reliability", - "name": "Service Bus and reliability" + "name": "Service Bus and reliability", + "url": "https://learn.microsoft.com/en-us/azure/well-architected/services/messaging/service-bus/reliability" }, { - "url": "https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-geo-dr#availability-zones", - "name": "Azure Service Bus Geo-disaster recovery" + "name": "Azure Service Bus Geo-disaster recovery", + "url": "https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-geo-dr#availability-zones" }, { - "url": "https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-outages-disasters", - "name": "Insulate Azure Service Bus applications against outages and disasters" + "name": "Insulate Azure Service Bus applications against outages and disasters", + "url": "https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-outages-disasters" } ], "recommendationControl": "High Availability", @@ -510,8 +510,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/service-bus-messaging/automate-update-messaging-units", - "name": "Service Bus auto-scaling" + "name": "Service Bus auto-scaling", + "url": "https://learn.microsoft.com/azure/service-bus-messaging/automate-update-messaging-units" } ], "recommendationControl": "High Availability", @@ -531,12 +531,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://azure.microsoft.com/updates/azure-support-tls-will-end-by-31-october-2024-2/", - "name": "Azure support for TLS 1.0 and TLS 1.1 will end by 31 October 2024" + "name": "Azure support for TLS 1.0 and TLS 1.1 will end by 31 October 2024", + "url": "https://azure.microsoft.com/updates/azure-support-tls-will-end-by-31-october-2024-2/" }, { - "url": "https://learn.microsoft.com/azure/service-bus-messaging/transport-layer-security-configure-minimum-version", - "name": "Configure the minimum TLS version for a Service Bus namespace" + "name": "Configure the minimum TLS version for a Service Bus namespace", + "url": "https://learn.microsoft.com/azure/service-bus-messaging/transport-layer-security-configure-minimum-version" } ], "recommendationControl": "Service Upgrade and Retirement", @@ -556,8 +556,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-service-levels", - "name": "Service levels for Azure NetApp Files | Microsoft Learn" + "name": "Service levels for Azure NetApp Files | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-service-levels" } ], "recommendationControl": "Scalability", @@ -577,8 +577,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-network-topologies", - "name": "Guidelines for Azure NetApp Files network planning | Microsoft Learn" + "name": "Guidelines for Azure NetApp Files network planning | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-network-topologies" } ], "recommendationControl": "Scalability", @@ -598,8 +598,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/use-availability-zones", - "name": "Use availability zones for high availability in Azure NetApp Files | Microsoft Learn" + "name": "Use availability zones for high availability in Azure NetApp Files | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/use-availability-zones" } ], "recommendationControl": "High Availability", @@ -619,8 +619,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/manage-availability-zone-volume-placement", - "name": "Manage availability zone volume placement for Azure NetApp Files | Microsoft Learn" + "name": "Manage availability zone volume placement for Azure NetApp Files | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/manage-availability-zone-volume-placement" } ], "recommendationControl": "Other Best Practices", @@ -640,8 +640,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/snapshots-introduction", - "name": "How Azure NetApp Files snapshots work | Microsoft Learn" + "name": "How Azure NetApp Files snapshots work | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/snapshots-introduction" } ], "recommendationControl": "High Availability", @@ -661,8 +661,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/backup-introduction", - "name": "Understand Azure NetApp Files backup | Microsoft Learn" + "name": "Understand Azure NetApp Files backup | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/backup-introduction" } ], "recommendationControl": "Disaster Recovery", @@ -682,8 +682,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-netapp-files/cross-region-replication-introduction", - "name": "Cross-region replication of Azure NetApp Files volumes" + "name": "Cross-region replication of Azure NetApp Files volumes", + "url": "https://learn.microsoft.com/en-us/azure/azure-netapp-files/cross-region-replication-introduction" } ], "recommendationControl": "Disaster Recovery", @@ -703,8 +703,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/cross-zone-replication-introduction", - "name": "Cross-zone replication of Azure NetApp Files volumes | Microsoft Learn" + "name": "Cross-zone replication of Azure NetApp Files volumes | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/cross-zone-replication-introduction" } ], "recommendationControl": "Disaster Recovery", @@ -724,8 +724,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/monitor-azure-netapp-files", - "name": "Ways to monitor Azure NetApp Files | Microsoft Learn" + "name": "Ways to monitor Azure NetApp Files | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/monitor-azure-netapp-files" } ], "recommendationControl": "Monitoring and Alerting", @@ -745,12 +745,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/azure-policy-definitions", - "name": "Azure Policy definitions for Azure NetApp Files | Microsoft Learn" + "name": "Azure Policy definitions for Azure NetApp Files | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/azure-policy-definitions" }, { - "url": "https://learn.microsoft.com/azure/governance/policy/tutorials/create-custom-policy-definition", - "name": "Creating custom policy definitions | Microsoft Learn" + "name": "Creating custom policy definitions | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/governance/policy/tutorials/create-custom-policy-definition" } ], "recommendationControl": "Governance", @@ -770,24 +770,24 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/configure-network-features", - "name": "Configure network features for an Azure NetApp Files volume" + "name": "Configure network features for an Azure NetApp Files volume", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/configure-network-features" }, { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/manage-smb-share-access-control-lists", - "name": "Manage SMB share ACLs in Azure NetApp Files" + "name": "Manage SMB share ACLs in Azure NetApp Files", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/manage-smb-share-access-control-lists" }, { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-configure-export-policy", - "name": "Configure export policy for NFS or dual-protocol volumes" + "name": "Configure export policy for NFS or dual-protocol volumes", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-configure-export-policy" }, { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/configure-access-control-lists", - "name": "Configure access control lists on NFSv4.1 volumes for Azure NetApp Files" + "name": "Configure access control lists on NFSv4.1 volumes for Azure NetApp Files", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/configure-access-control-lists" }, { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/configure-unix-permissions-change-ownership-mode", - "name": "Configure Unix permissions and change ownership mode for NFS and dual-protocol volumes" + "name": "Configure Unix permissions and change ownership mode for NFS and dual-protocol volumes", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/configure-unix-permissions-change-ownership-mode" } ], "recommendationControl": "Security", @@ -807,8 +807,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/faq-application-resilience#do-i-need-to-take-special-precautions-for-smb-based-applications", - "name": "Do I need to take special precautions for SMB-based applications? | Microsoft Learn" + "name": "Do I need to take special precautions for SMB-based applications? | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/faq-application-resilience#do-i-need-to-take-special-precautions-for-smb-based-applications" } ], "recommendationControl": "High Availability", @@ -828,8 +828,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-netapp-files/faq-application-resilience#what-do-you-recommend-for-handling-potential-application-disruptions-due-to-storage-service-maintenance-events", - "name": "What do you recommend for handling potential application disruptions due to storage service maintenance events? | Microsoft Learn" + "name": "What do you recommend for handling potential application disruptions due to storage service maintenance events? | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/azure-netapp-files/faq-application-resilience#what-do-you-recommend-for-handling-potential-application-disruptions-due-to-storage-service-maintenance-events" } ], "recommendationControl": "High Availability", @@ -849,8 +849,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/postgresql/flexible-server/concepts-high-availability", - "name": "Overview of high availability with Azure Database for PostgreSQL" + "name": "Overview of high availability with Azure Database for PostgreSQL", + "url": "https://learn.microsoft.com/azure/postgresql/flexible-server/concepts-high-availability" } ], "recommendationControl": "High Availability", @@ -870,8 +870,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/postgresql/flexible-server/concepts-maintenance", - "name": "Scheduled maintenance in Azure Database for PostgreSQL - Flexible Server" + "name": "Scheduled maintenance in Azure Database for PostgreSQL - Flexible Server", + "url": "https://learn.microsoft.com/azure/postgresql/flexible-server/concepts-maintenance" } ], "recommendationControl": "Scalability", @@ -891,8 +891,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-backup-restore", - "name": "Backup and restore in Azure Database for PostgreSQL - Flexible Server" + "name": "Backup and restore in Azure Database for PostgreSQL - Flexible Server", + "url": "https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-backup-restore" } ], "recommendationControl": "Disaster Recovery", @@ -912,8 +912,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-read-replicas", - "name": "Read replicas in Azure Database for PostgreSQL - Flexible Server" + "name": "Read replicas in Azure Database for PostgreSQL - Flexible Server", + "url": "https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-read-replicas" } ], "recommendationControl": "Disaster Recovery", @@ -933,8 +933,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-auto-grow-storage-portal", - "name": "Storage autogrow using Azure portal in Azure Database for PostgreSQL - Flexible Server" + "name": "Storage autogrow using Azure portal in Azure Database for PostgreSQL - Flexible Server", + "url": "https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-auto-grow-storage-portal" } ], "recommendationControl": "Scalability", @@ -954,8 +954,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/active-geo-replication-overview", - "name": "Active Geo Replication" + "name": "Active Geo Replication", + "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/active-geo-replication-overview" } ], "recommendationControl": "Disaster Recovery", @@ -975,12 +975,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/auto-failover-group-overview?tabs=azure-powershell", - "name": "AutoFailover Groups" + "name": "AutoFailover Groups", + "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/auto-failover-group-overview?tabs=azure-powershell" }, { - "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/designing-cloud-solutions-for-disaster-recovery", - "name": "DR Design" + "name": "DR Design", + "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/designing-cloud-solutions-for-disaster-recovery" } ], "recommendationControl": "Disaster Recovery", @@ -1000,8 +1000,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/high-availability-sla", - "name": "Zone Redundant Databases" + "name": "Zone Redundant Databases", + "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/high-availability-sla" } ], "recommendationControl": "High Availability", @@ -1021,8 +1021,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/troubleshoot-common-connectivity-issues", - "name": "How to Implement Retry Logic" + "name": "How to Implement Retry Logic", + "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/troubleshoot-common-connectivity-issues" } ], "recommendationControl": "High Availability", @@ -1042,16 +1042,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-monitor/insights/azure-sql#analyze-data-and-create-alerts", - "name": "Azure Monitor" + "name": "Azure Monitor", + "url": "https://learn.microsoft.com/en-us/azure/azure-monitor/insights/azure-sql#analyze-data-and-create-alerts" }, { - "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/monitoring-sql-database-azure-monitor", - "name": "Azure SQL Database Monitoring" + "name": "Azure SQL Database Monitoring", + "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/monitoring-sql-database-azure-monitor" }, { - "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/monitoring-sql-database-azure-monitor-reference", - "name": "Monitoring SQL Database Reference" + "name": "Monitoring SQL Database Reference", + "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/monitoring-sql-database-azure-monitor-reference" } ], "recommendationControl": "Monitoring and Alerting", @@ -1071,12 +1071,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/key-vault/general/overview", - "name": "Azure Key Vault" + "name": "Azure Key Vault", + "url": "https://learn.microsoft.com/en-us/azure/key-vault/general/overview" }, { - "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/always-encrypted-landing?view=azuresql", - "name": "Getting Started with Always Encrypted" + "name": "Getting Started with Always Encrypted", + "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/always-encrypted-landing?view=azuresql" } ], "recommendationControl": "Disaster Recovery", @@ -1096,8 +1096,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-sql/database/failover-group-sql-db?view=azuresql#endpoint-redirection", - "name": "Failover Group endpoint redirection" + "name": "Failover Group endpoint redirection", + "url": "https://learn.microsoft.com/azure/azure-sql/database/failover-group-sql-db?view=azuresql#endpoint-redirection" } ], "recommendationControl": "Disaster Recovery", @@ -1117,8 +1117,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-sql/managed-instance/high-availability-sla-local-zone-redundancy?view=azuresql-mi#zone-redundant-availability", - "name": "High availability through zone-redundancy" + "name": "High availability through zone-redundancy", + "url": "https://learn.microsoft.com/azure/azure-sql/managed-instance/high-availability-sla-local-zone-redundancy?view=azuresql-mi#zone-redundant-availability" } ], "recommendationControl": "High Availability", @@ -1138,8 +1138,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-sql/managed-instance/automated-backups-overview?view=azuresql-mi&preserve-view=true#backup-storage-redundancy", - "name": "Backup storage redundancy" + "name": "Backup storage redundancy", + "url": "https://learn.microsoft.com/azure/azure-sql/managed-instance/automated-backups-overview?view=azuresql-mi&preserve-view=true#backup-storage-redundancy" } ], "recommendationControl": "Disaster Recovery", @@ -1159,8 +1159,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-sql/managed-instance/connection-types-overview?view=azuresql#connection-types", - "name": "Connection types" + "name": "Connection types", + "url": "https://learn.microsoft.com/azure/azure-sql/managed-instance/connection-types-overview?view=azuresql#connection-types" } ], "recommendationControl": "Scalability", @@ -1180,8 +1180,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-sql/managed-instance/failover-group-sql-mi?view=azuresql", - "name": "Failover groups overview and best practices" + "name": "Failover groups overview and best practices", + "url": "https://learn.microsoft.com/azure/azure-sql/managed-instance/failover-group-sql-mi?view=azuresql" } ], "recommendationControl": "Disaster Recovery", @@ -1201,8 +1201,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-sql/managed-instance/monitoring-sql-managed-instance-azure-monitor?view=azuresql-mi", - "name": "Azure SQL Managed Instance monitoring options" + "name": "Azure SQL Managed Instance monitoring options", + "url": "https://learn.microsoft.com/azure/azure-sql/managed-instance/monitoring-sql-managed-instance-azure-monitor?view=azuresql-mi" } ], "recommendationControl": "Monitoring and Alerting", @@ -1222,8 +1222,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-sql/database/always-encrypted-landing?view=azuresql", - "name": "Overview of Always Encrypted" + "name": "Overview of Always Encrypted", + "url": "https://learn.microsoft.com/azure/azure-sql/database/always-encrypted-landing?view=azuresql" } ], "recommendationControl": "Disaster Recovery", @@ -1243,8 +1243,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/event-grid/enable-diagnostic-logs-topic", - "name": "Azure Event Grid - Enable diagnostic logs for Event Grid resources" + "name": "Azure Event Grid - Enable diagnostic logs for Event Grid resources", + "url": "https://learn.microsoft.com/en-us/azure/event-grid/enable-diagnostic-logs-topic" } ], "recommendationControl": "Monitoring and Alerting", @@ -1264,8 +1264,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/event-grid/delivery-and-retry#dead-letter-events", - "name": "Azure Event Grid delivery and retry" + "name": "Azure Event Grid delivery and retry", + "url": "https://learn.microsoft.com/en-us/azure/event-grid/delivery-and-retry#dead-letter-events" } ], "recommendationControl": "Personalized", @@ -1285,8 +1285,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/event-grid/configure-private-endpoints", - "name": "Configure private endpoints for Azure Event Grid topics or domains" + "name": "Configure private endpoints for Azure Event Grid topics or domains", + "url": "https://learn.microsoft.com/en-us/azure/event-grid/configure-private-endpoints" } ], "recommendationControl": "Security", @@ -1306,8 +1306,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/azure-vmware/eslz-management-and-monitoring#design-recommendations", - "name": "Configure Azure Service Health alerts" + "name": "Configure Azure Service Health alerts", + "url": "https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/azure-vmware/eslz-management-and-monitoring#design-recommendations" } ], "recommendationControl": "Monitoring and Alerting", @@ -1327,8 +1327,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/monitoring#configure-and-streamline-alerts", - "name": "Configure and streamline alerts" + "name": "Configure and streamline alerts", + "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/monitoring#configure-and-streamline-alerts" } ], "recommendationControl": "Monitoring and Alerting", @@ -1348,8 +1348,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/monitoring#configure-and-streamline-alerts", - "name": "Configure and streamline alerts" + "name": "Configure and streamline alerts", + "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/monitoring#configure-and-streamline-alerts" } ], "recommendationControl": "Monitoring and Alerting", @@ -1369,12 +1369,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/infrastructure#implement-high-availability", - "name": "Implement high availability" + "name": "Implement high availability", + "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/infrastructure#implement-high-availability" }, { - "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/deploy-vsan-stretched-clusters", - "name": "Stretched Clusters" + "name": "Stretched Clusters", + "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/deploy-vsan-stretched-clusters" } ], "recommendationControl": "High Availability", @@ -1394,8 +1394,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-alerts-for-azure-vmware-solution#supported-metrics-and-activities", - "name": "Supported metrics and activities" + "name": "Supported metrics and activities", + "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-alerts-for-azure-vmware-solution#supported-metrics-and-activities" } ], "recommendationControl": "Monitoring and Alerting", @@ -1415,8 +1415,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/monitoring#manage-logs-and-archives", - "name": "Manage logs and archives" + "name": "Manage logs and archives", + "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/monitoring#manage-logs-and-archives" } ], "recommendationControl": "Monitoring and Alerting", @@ -1436,8 +1436,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/monitoring#configure-and-streamline-alerts", - "name": "Configure and streamline alerts" + "name": "Configure and streamline alerts", + "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/monitoring#configure-and-streamline-alerts" } ], "recommendationControl": "Monitoring and Alerting", @@ -1457,8 +1457,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/monitoring#configure-and-streamline-alerts", - "name": "Configure and streamline alerts" + "name": "Configure and streamline alerts", + "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/monitoring#configure-and-streamline-alerts" } ], "recommendationControl": "Monitoring and Alerting", @@ -1478,8 +1478,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources", - "name": "Lock your resources to protect your infrastructure" + "name": "Lock your resources to protect your infrastructure", + "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources" } ], "recommendationControl": "Governance", @@ -1499,8 +1499,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-customer-managed-keys?tabs=azure-portal", - "name": "Configure Customer Managed Keys" + "name": "Configure Customer Managed Keys", + "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-customer-managed-keys?tabs=azure-portal" } ], "recommendationControl": "Security", @@ -1520,8 +1520,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-dns-azure-vmware-solution#configure-dns-forwarder", - "name": "Configure DNS forwarder" + "name": "Configure DNS forwarder", + "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-dns-azure-vmware-solution#configure-dns-forwarder" } ], "recommendationControl": "High Availability", @@ -1541,8 +1541,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-monitor/app/convert-classic-resource", - "name": "Migrate an Application Insights classic resource to a workspace-based resource" + "name": "Migrate an Application Insights classic resource to a workspace-based resource", + "url": "https://learn.microsoft.com/en-us/azure/azure-monitor/app/convert-classic-resource" } ], "recommendationControl": "Service Upgrade and Retirement", @@ -1562,16 +1562,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/service-health/resource-health-overview", - "name": "Resource Health" + "name": "Resource Health", + "url": "https://learn.microsoft.com/en-us/azure/service-health/resource-health-overview" }, { - "url": "https://learn.microsoft.com/en-us/azure/service-health/resource-health-alert-monitor-guide#create-a-resource-health-alert-rule-in-the-azure-portal", - "name": "Configure Resource Health alerts in the Azure portal" + "name": "Configure Resource Health alerts in the Azure portal", + "url": "https://learn.microsoft.com/en-us/azure/service-health/resource-health-alert-monitor-guide#create-a-resource-health-alert-rule-in-the-azure-portal" }, { - "url": "https://learn.microsoft.com/en-us/azure/service-health/alerts-activity-log-service-notifications-portal", - "name": "Alerts Health" + "name": "Alerts Health", + "url": "https://learn.microsoft.com/en-us/azure/service-health/alerts-activity-log-service-notifications-portal" } ], "recommendationControl": "Monitoring and Alerting", @@ -1591,12 +1591,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/service-health/overview", - "name": "What is Azure Service Health?" + "name": "What is Azure Service Health?", + "url": "https://learn.microsoft.com/azure/service-health/overview" }, { - "url": "https://learn.microsoft.com/azure/service-health/alerts-activity-log-service-notifications-portal", - "name": "Configure alerts for service health events" + "name": "Configure alerts for service health events", + "url": "https://learn.microsoft.com/azure/service-health/alerts-activity-log-service-notifications-portal" } ], "recommendationControl": "Monitoring and Alerting", @@ -1616,8 +1616,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/stream-analytics/cluster-overview", - "name": "Overview of Azure Stream Analytics Cluster" + "name": "Overview of Azure Stream Analytics Cluster", + "url": "https://learn.microsoft.com/azure/stream-analytics/cluster-overview" } ], "recommendationControl": "Scalability", @@ -1637,8 +1637,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/stream-analytics/stream-analytics-streaming-unit-consumption", - "name": "Understand and adjust streaming units" + "name": "Understand and adjust streaming units", + "url": "https://learn.microsoft.com/azure/stream-analytics/stream-analytics-streaming-unit-consumption" } ], "recommendationControl": "High Availability", @@ -1658,8 +1658,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/key-vault/general/soft-delete-overview", - "name": "Azure Key Vault soft-delete overview" + "name": "Azure Key Vault soft-delete overview", + "url": "https://learn.microsoft.com/azure/key-vault/general/soft-delete-overview" } ], "recommendationControl": "Disaster Recovery", @@ -1679,8 +1679,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/key-vault/general/soft-delete-overview#purge-protection", - "name": "Azure Key Vault purge-protection overview" + "name": "Azure Key Vault purge-protection overview", + "url": "https://learn.microsoft.com/azure/key-vault/general/soft-delete-overview#purge-protection" } ], "recommendationControl": "Disaster Recovery", @@ -1700,8 +1700,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/key-vault/general/security-features#network-security", - "name": "Azure Key Vault Private Link Service overview" + "name": "Azure Key Vault Private Link Service overview", + "url": "https://learn.microsoft.com/azure/key-vault/general/security-features#network-security" } ], "recommendationControl": "Security", @@ -1721,8 +1721,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/key-vault/general/best-practices#why-we-recommend-separate-key-vaults", - "name": "Azure Key Vault best practices overview" + "name": "Azure Key Vault best practices overview", + "url": "https://learn.microsoft.com/azure/key-vault/general/best-practices#why-we-recommend-separate-key-vaults" } ], "recommendationControl": "Governance", @@ -1742,8 +1742,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/key-vault/general/logging?tabs=Vault", - "name": "Azure Key Vault logging overview" + "name": "Azure Key Vault logging overview", + "url": "https://learn.microsoft.com/azure/key-vault/general/logging?tabs=Vault" } ], "recommendationControl": "Monitoring and Alerting", @@ -1763,12 +1763,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/reliability/migrate-app-service", - "name": "Migrate App Service to availability zone support" + "name": "Migrate App Service to availability zone support", + "url": "https://learn.microsoft.com/en-us/azure/reliability/migrate-app-service" }, { - "url": "https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/enterprise-integration/ase-high-availability-deployment", - "name": "High availability enterprise deployment using App Service Environment" + "name": "High availability enterprise deployment using App Service Environment", + "url": "https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/enterprise-integration/ase-high-availability-deployment" } ], "recommendationControl": "High Availability", @@ -1788,8 +1788,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/architecture/checklist/resiliency-per-service#app-service", - "name": "Resiliency checklist for specific Azure services" + "name": "Resiliency checklist for specific Azure services", + "url": "https://learn.microsoft.com/en-us/azure/architecture/checklist/resiliency-per-service#app-service" } ], "recommendationControl": "High Availability", @@ -1809,8 +1809,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/architecture/checklist/resiliency-per-service#app-service", - "name": "Resiliency checklist for specific Azure services" + "name": "Resiliency checklist for specific Azure services", + "url": "https://learn.microsoft.com/en-us/azure/architecture/checklist/resiliency-per-service#app-service" } ], "recommendationControl": "Scalability", @@ -1830,8 +1830,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/architecture/checklist/resiliency-per-service#app-service", - "name": "Resiliency checklist for specific Azure services" + "name": "Resiliency checklist for specific Azure services", + "url": "https://learn.microsoft.com/en-us/azure/architecture/checklist/resiliency-per-service#app-service" } ], "recommendationControl": "Governance", @@ -1851,12 +1851,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/app-service/manage-automatic-scaling?tabs=azure-portal", - "name": "Automatic scaling in Azure App Service" + "name": "Automatic scaling in Azure App Service", + "url": "https://learn.microsoft.com/en-us/azure/app-service/manage-automatic-scaling?tabs=azure-portal" }, { - "url": "https://learn.microsoft.com/en-us/azure/azure-monitor/autoscale/autoscale-get-started", - "name": "Auto Scale Web Apps" + "name": "Auto Scale Web Apps", + "url": "https://learn.microsoft.com/en-us/azure/azure-monitor/autoscale/autoscale-get-started" } ], "recommendationControl": "Scalability", @@ -1876,8 +1876,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/app-service/troubleshoot-diagnostic-logs", - "name": "Enable diagnostics logging for apps in Azure App Service" + "name": "Enable diagnostics logging for apps in Azure App Service", + "url": "https://learn.microsoft.com/azure/app-service/troubleshoot-diagnostic-logs" } ], "recommendationControl": "Monitoring and Alerting", @@ -1897,12 +1897,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/application-insights/app-insights-overview", - "name": "Application Insights" + "name": "Application Insights", + "url": "https://learn.microsoft.com/azure/application-insights/app-insights-overview" }, { - "url": "https://learn.microsoft.com/azure/azure-monitor/app/azure-web-apps", - "name": "Application monitoring for Azure App Service" + "name": "Application monitoring for Azure App Service", + "url": "https://learn.microsoft.com/azure/azure-monitor/app/azure-web-apps" } ], "recommendationControl": "Monitoring and Alerting", @@ -1922,8 +1922,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/checklist/resiliency-per-service#app-service", - "name": "Resiliency checklist for specific Azure services" + "name": "Resiliency checklist for specific Azure services", + "url": "https://learn.microsoft.com/azure/architecture/checklist/resiliency-per-service#app-service" } ], "recommendationControl": "Scalability", @@ -1943,8 +1943,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/checklist/resiliency-per-service#app-service", - "name": "Resiliency checklist" + "name": "Resiliency checklist", + "url": "https://learn.microsoft.com/azure/architecture/checklist/resiliency-per-service#app-service" } ], "recommendationControl": "Scalability", @@ -1964,8 +1964,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/app-service-web/web-sites-staged-publishing", - "name": "Set up staging environments in Azure App Service" + "name": "Set up staging environments in Azure App Service", + "url": "https://learn.microsoft.com/azure/app-service-web/web-sites-staged-publishing" } ], "recommendationControl": "Governance", @@ -1985,8 +1985,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/app-service-web/web-sites-configure", - "name": "Configure web apps in Azure App Service" + "name": "Configure web apps in Azure App Service", + "url": "https://learn.microsoft.com/azure/app-service-web/web-sites-configure" } ], "recommendationControl": "Other Best Practices", @@ -2006,8 +2006,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/app-service/monitor-instances-health-check?tabs=dotnet#enable-health-check", - "name": "Monitor the health of App Service instances" + "name": "Monitor the health of App Service instances", + "url": "https://learn.microsoft.com/en-us/azure/app-service/monitor-instances-health-check?tabs=dotnet#enable-health-check" } ], "recommendationControl": "Other Best Practices", @@ -2027,8 +2027,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/app-service/app-service-ip-restrictions?tabs=azurecli", - "name": "Set up Azure App Service access restrictions" + "name": "Set up Azure App Service access restrictions", + "url": "https://learn.microsoft.com/en-us/azure/app-service/app-service-ip-restrictions?tabs=azurecli" } ], "recommendationControl": "Governance", @@ -2048,8 +2048,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://azure.github.io/AppService/2020/05/15/Robust-Apps-for-the-cloud.html", - "name": "Ultimate guide to running healthy apps in the cloud" + "name": "Ultimate guide to running healthy apps in the cloud", + "url": "https://azure.github.io/AppService/2020/05/15/Robust-Apps-for-the-cloud.html" } ], "recommendationControl": "Scalability", @@ -2069,8 +2069,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://azure.github.io/AppService/2018/09/10/Announcing-the-New-Auto-Healing-Experience-in-App-Service-Diagnostics.html", - "name": "Announcing the New Auto Healing Experience in App Service Diagnostics - Azure App Service" + "name": "Announcing the New Auto Healing Experience in App Service Diagnostics - Azure App Service", + "url": "https://azure.github.io/AppService/2018/09/10/Announcing-the-New-Auto-Healing-Experience-in-App-Service-Diagnostics.html" } ], "recommendationControl": "High Availability", @@ -2090,8 +2090,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-warmup?tabs=in-process%2Cnodejs-v4&pivots=programming-language-csharp#trigger", - "name": "Azure Functions Warmup Trigger" + "name": "Azure Functions Warmup Trigger", + "url": "https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-warmup?tabs=in-process%2Cnodejs-v4&pivots=programming-language-csharp#trigger" } ], "recommendationControl": "Monitoring and Alerting", @@ -2111,8 +2111,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules", - "name": "Resource naming restrictions - Azure Resource Manager" + "name": "Resource naming restrictions - Azure Resource Manager", + "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules" } ], "recommendationControl": "Governance", @@ -2132,8 +2132,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-functions/migrate-version-3-version-4?tabs=net6-in-proc%2Cazure-cli%2Cwindows&pivots=programming-language-csharp", - "name": "Migrate version 3.x to 4.x" + "name": "Migrate version 3.x to 4.x", + "url": "https://learn.microsoft.com/en-us/azure/azure-functions/migrate-version-3-version-4?tabs=net6-in-proc%2Cazure-cli%2Cwindows&pivots=programming-language-csharp" } ], "recommendationControl": "Governance", @@ -2153,8 +2153,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings#functions_worker_runtime", - "name": "FUNCTIONS_WORKER_RUNTIME" + "name": "FUNCTIONS_WORKER_RUNTIME", + "url": "https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings#functions_worker_runtime" } ], "recommendationControl": "Governance", @@ -2174,12 +2174,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/aks/availability-zones", - "name": "AKS Availability Zones" + "name": "AKS Availability Zones", + "url": "https://learn.microsoft.com/en-us/azure/aks/availability-zones" }, { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-use-availability-zones#zone-balancing", - "name": "Zone Balancing" + "name": "Zone Balancing", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-use-availability-zones#zone-balancing" } ], "recommendationControl": "High Availability", @@ -2199,8 +2199,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/aks/use-system-pools?tabs=azure-cli#system-and-user-node-pools", - "name": "System and user node pools" + "name": "System and user node pools", + "url": "https://learn.microsoft.com/en-us/azure/aks/use-system-pools?tabs=azure-cli#system-and-user-node-pools" } ], "recommendationControl": "High Availability", @@ -2220,16 +2220,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/aks/concepts-identity#azure-ad-integration", - "name": "Entra integration" + "name": "Entra integration", + "url": "https://learn.microsoft.com/en-us/azure/aks/concepts-identity#azure-ad-integration" }, { - "url": "https://learn.microsoft.com/en-us/azure/aks/manage-azure-rbac?source=recommendations", - "name": "Use Azure role-based access control for AKS" + "name": "Use Azure role-based access control for AKS", + "url": "https://learn.microsoft.com/en-us/azure/aks/manage-azure-rbac?source=recommendations" }, { - "url": "https://learn.microsoft.com/en-us/azure/aks/manage-local-accounts-managed-azure-ad?source=recommendations", - "name": "Manage AKS local accounts" + "name": "Manage AKS local accounts", + "url": "https://learn.microsoft.com/en-us/azure/aks/manage-local-accounts-managed-azure-ad?source=recommendations" } ], "recommendationControl": "Security", @@ -2249,12 +2249,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/aks/configure-azure-cni-dynamic-ip-allocation", - "name": "Configure Azure CNI networking" + "name": "Configure Azure CNI networking", + "url": "https://learn.microsoft.com/en-us/azure/aks/configure-azure-cni-dynamic-ip-allocation" }, { - "url": "https://learn.microsoft.com/en-us/azure/aks/azure-cni-overlay", - "name": "Configure Azure CNI Overlay networking" + "name": "Configure Azure CNI Overlay networking", + "url": "https://learn.microsoft.com/en-us/azure/aks/azure-cni-overlay" } ], "recommendationControl": "Scalability", @@ -2274,20 +2274,20 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/aks/cluster-autoscaler?tabs=azure-cli", - "name": "Use the Cluster Autoscaler on AKS" + "name": "Use the Cluster Autoscaler on AKS", + "url": "https://learn.microsoft.com/azure/aks/cluster-autoscaler?tabs=azure-cli" }, { - "url": "https://learn.microsoft.com/azure/aks/operator-best-practices-advanced-scheduler", - "name": "Best practices for advanced scheduler features" + "name": "Best practices for advanced scheduler features", + "url": "https://learn.microsoft.com/azure/aks/operator-best-practices-advanced-scheduler" }, { - "url": "https://learn.microsoft.com/azure/aks/best-practices-performance-scale-large#node-pool-scaling", - "name": "Node pool scaling considerations and best practices" + "name": "Node pool scaling considerations and best practices", + "url": "https://learn.microsoft.com/azure/aks/best-practices-performance-scale-large#node-pool-scaling" }, { - "url": "https://learn.microsoft.com/azure/aks/operator-best-practices-scheduler", - "name": "Best practices for basic scheduler features" + "name": "Best practices for basic scheduler features", + "url": "https://learn.microsoft.com/azure/aks/operator-best-practices-scheduler" } ], "recommendationControl": "Scalability", @@ -2307,12 +2307,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/backup/azure-kubernetes-service-cluster-backup", - "name": "AKS Backups" + "name": "AKS Backups", + "url": "https://learn.microsoft.com/en-us/azure/backup/azure-kubernetes-service-cluster-backup" }, { - "url": "https://learn.microsoft.com/en-us/azure/aks/operator-best-practices-storage", - "name": "Best Practices for AKS Backups" + "name": "Best Practices for AKS Backups", + "url": "https://learn.microsoft.com/en-us/azure/aks/operator-best-practices-storage" } ], "recommendationControl": "Disaster Recovery", @@ -2332,24 +2332,24 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/reliability/availability-zones-overview?tabs=azure-cli", - "name": "Availability zones overview" + "name": "Availability zones overview", + "url": "https://learn.microsoft.com/azure/reliability/availability-zones-overview?tabs=azure-cli" }, { - "url": "https://learn.microsoft.com/azure/storage/common/storage-redundancy#zone-redundant-storage", - "name": "Zone-redundant storage" + "name": "Zone-redundant storage", + "url": "https://learn.microsoft.com/azure/storage/common/storage-redundancy#zone-redundant-storage" }, { - "url": "https://learn.microsoft.com/azure/virtual-machines/disks-redundancy#zone-redundant-storage-for-managed-disks", - "name": "ZRS disks" + "name": "ZRS disks", + "url": "https://learn.microsoft.com/azure/virtual-machines/disks-redundancy#zone-redundant-storage-for-managed-disks" }, { - "url": "https://learn.microsoft.com/azure/virtual-machines/disks-migrate-lrs-zrs", - "name": "Convert a disk from LRS to ZRS" + "name": "Convert a disk from LRS to ZRS", + "url": "https://learn.microsoft.com/azure/virtual-machines/disks-migrate-lrs-zrs" }, { - "url": "https://learn.microsoft.com/azure/storage/container-storage/enable-multi-zone-redundancy", - "name": "Enable multi-zone storage redundancy in Azure Container Storage" + "name": "Enable multi-zone storage redundancy in Azure Container Storage", + "url": "https://learn.microsoft.com/azure/storage/container-storage/enable-multi-zone-redundancy" } ], "recommendationControl": "High Availability", @@ -2369,12 +2369,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/aks/csi-storage-drivers", - "name": "CSI Storage Drivers" + "name": "CSI Storage Drivers", + "url": "https://learn.microsoft.com/azure/aks/csi-storage-drivers" }, { - "url": "https://learn.microsoft.com/azure/aks/csi-migrate-in-tree-volumes", - "name": "CSI Migrate in Tree Volumes" + "name": "CSI Migrate in Tree Volumes", + "url": "https://learn.microsoft.com/azure/aks/csi-migrate-in-tree-volumes" } ], "recommendationControl": "Governance", @@ -2394,8 +2394,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://kubernetes.io/docs/concepts/policy/resource-quotas/", - "name": "Resource Quotas" + "name": "Resource Quotas", + "url": "https://kubernetes.io/docs/concepts/policy/resource-quotas/" } ], "recommendationControl": "Scalability", @@ -2415,12 +2415,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/aks/virtual-nodes", - "name": "Virtual Nodes" + "name": "Virtual Nodes", + "url": "https://learn.microsoft.com/azure/aks/virtual-nodes" }, { - "url": "https://learn.microsoft.com/azure/container-instances/container-instances-overview", - "name": "Azure Container Instances" + "name": "Azure Container Instances", + "url": "https://learn.microsoft.com/azure/container-instances/container-instances-overview" } ], "recommendationControl": "Scalability", @@ -2440,12 +2440,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/aks/free-standard-pricing-tiers", - "name": "Pricing Tiers" + "name": "Pricing Tiers", + "url": "https://learn.microsoft.com/en-us/azure/aks/free-standard-pricing-tiers" }, { - "url": "https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/containers/aks/baseline-aks?toc=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Faks%2Ftoc.json&bc=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Fbread%2Ftoc.json#kubernetes-api-server-sla", - "name": "AKS Baseline Architecture" + "name": "AKS Baseline Architecture", + "url": "https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/containers/aks/baseline-aks?toc=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Faks%2Ftoc.json&bc=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Fbread%2Ftoc.json#kubernetes-api-server-sla" } ], "recommendationControl": "High Availability", @@ -2465,8 +2465,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/aks/monitor-aks", - "name": "Monitor AKS" + "name": "Monitor AKS", + "url": "https://learn.microsoft.com/azure/aks/monitor-aks" } ], "recommendationControl": "Monitoring and Alerting", @@ -2486,16 +2486,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/aks/concepts-storage#ephemeral-os-disk", - "name": "Ephemeral OS disk" + "name": "Ephemeral OS disk", + "url": "https://learn.microsoft.com/azure/aks/concepts-storage#ephemeral-os-disk" }, { - "url": "https://learn.microsoft.com/azure/aks/cluster-configuration", - "name": "Configure an AKS cluster" + "name": "Configure an AKS cluster", + "url": "https://learn.microsoft.com/azure/aks/cluster-configuration" }, { - "url": "https://learn.microsoft.com/samples/azure-samples/aks-ephemeral-os-disk/aks-ephemeral-os-disk/", - "name": "Everything you want to know about ephemeral OS disks and AKS" + "name": "Everything you want to know about ephemeral OS disks and AKS", + "url": "https://learn.microsoft.com/samples/azure-samples/aks-ephemeral-os-disk/aks-ephemeral-os-disk/" } ], "recommendationControl": "Scalability", @@ -2515,12 +2515,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/containers/aks/baseline-aks?toc=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Faks%2Ftoc.json&bc=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Fbread%2Ftoc.json#policy-management", - "name": "AKS Baseline - Policy Management" + "name": "AKS Baseline - Policy Management", + "url": "https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/containers/aks/baseline-aks?toc=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Faks%2Ftoc.json&bc=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Fbread%2Ftoc.json#policy-management" }, { - "url": "https://learn.microsoft.com/en-us/azure/aks/policy-reference", - "name": "Built-in Policy Definitions for AKS" + "name": "Built-in Policy Definitions for AKS", + "url": "https://learn.microsoft.com/en-us/azure/aks/policy-reference" } ], "recommendationControl": "Governance", @@ -2540,12 +2540,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/architecture/guide/aks/aks-cicd-github-actions-and-gitops", - "name": "GitOps with AKS" + "name": "GitOps with AKS", + "url": "https://learn.microsoft.com/en-us/azure/architecture/guide/aks/aks-cicd-github-actions-and-gitops" }, { - "url": "https://learn.microsoft.com/en-us/azure/architecture/example-scenario/gitops-aks/gitops-blueprint-aks", - "name": "GitOps for AKS - Reference Architecture" + "name": "GitOps for AKS - Reference Architecture", + "url": "https://learn.microsoft.com/en-us/azure/architecture/example-scenario/gitops-aks/gitops-blueprint-aks" } ], "recommendationControl": "Other Best Practices", @@ -2565,12 +2565,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/", - "name": "Topology Spread Constraints" + "name": "Topology Spread Constraints", + "url": "https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/" }, { - "url": "https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/", - "name": "Assign Pod Node" + "name": "Assign Pod Node", + "url": "https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/" } ], "recommendationControl": "High Availability", @@ -2590,12 +2590,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/", - "name": "Configure probes" + "name": "Configure probes", + "url": "https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/" }, { - "url": "https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/", - "name": "Assign Pod Node" + "name": "Assign Pod Node", + "url": "https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/" } ], "recommendationControl": "High Availability", @@ -2615,8 +2615,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/", - "name": "Replica Sets" + "name": "Replica Sets", + "url": "https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/" } ], "recommendationControl": "High Availability", @@ -2636,8 +2636,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/aks/use-system-pools?tabs=azure-cli", - "name": "System nodepools" + "name": "System nodepools", + "url": "https://learn.microsoft.com/azure/aks/use-system-pools?tabs=azure-cli" } ], "recommendationControl": "High Availability", @@ -2657,8 +2657,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/service-guides/azure-kubernetes-service#design-checklist", - "name": "Azure Well-Architected Framework review for Azure Kubernetes Service (AKS)" + "name": "Azure Well-Architected Framework review for Azure Kubernetes Service (AKS)", + "url": "https://learn.microsoft.com/azure/well-architected/service-guides/azure-kubernetes-service#design-checklist" } ], "recommendationControl": "High Availability", @@ -2678,12 +2678,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://kubernetes.io/docs/tasks/run-application/configure-pdb/", - "name": "Configure PDBs" + "name": "Configure PDBs", + "url": "https://kubernetes.io/docs/tasks/run-application/configure-pdb/" }, { - "url": "https://learn.microsoft.com/azure/aks/operator-best-practices-scheduler#plan-for-availability-using-pod-disruption-budgets", - "name": "Plan availability using PDBs" + "name": "Plan availability using PDBs", + "url": "https://learn.microsoft.com/azure/aks/operator-best-practices-scheduler#plan-for-availability-using-pod-disruption-budgets" } ], "recommendationControl": "High Availability", @@ -2703,8 +2703,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/aks/configure-azure-cni-dynamic-ip-allocation", - "name": "Azure CNI Dynamic IP Allocation" + "name": "Azure CNI Dynamic IP Allocation", + "url": "https://learn.microsoft.com/azure/aks/configure-azure-cni-dynamic-ip-allocation" } ], "recommendationControl": "High Availability", @@ -2724,8 +2724,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/quotas/quotas-overview", - "name": "Azure Quotas" + "name": "Azure Quotas", + "url": "https://learn.microsoft.com/azure/quotas/quotas-overview" } ], "recommendationControl": "High Availability", @@ -2745,8 +2745,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/aks/use-azure-linux", - "name": "Azure Linux" + "name": "Azure Linux", + "url": "https://learn.microsoft.com/azure/aks/use-azure-linux" } ], "recommendationControl": "High Availability", @@ -2766,8 +2766,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/aks/best-practices-app-cluster-reliability#multi-replica-applications", - "name": "Multi-replica apps" + "name": "Multi-replica apps", + "url": "https://learn.microsoft.com/azure/aks/best-practices-app-cluster-reliability#multi-replica-applications" } ], "recommendationControl": "High Availability", @@ -2787,8 +2787,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-network-mapping#set-up-ip-addressing-for-target-vms", - "name": "Setup network mapping for site recovery" + "name": "Setup network mapping for site recovery", + "url": "https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-network-mapping#set-up-ip-addressing-for-target-vms" } ], "recommendationControl": "Disaster Recovery", @@ -2808,8 +2808,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-tutorial-dr-drill#run-a-test-failover", - "name": "Run a test failover" + "name": "Run a test failover", + "url": "https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-tutorial-dr-drill#run-a-test-failover" } ], "recommendationControl": "Disaster Recovery", @@ -2829,12 +2829,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/backup/move-to-azure-monitor-alerts", - "name": "Move to Azure monitor Alerts" + "name": "Move to Azure monitor Alerts", + "url": "https://learn.microsoft.com/azure/backup/move-to-azure-monitor-alerts" }, { - "url": "https://azure.microsoft.com/updates/transition-to-builtin-azure-monitor-alerts-for-recovery-services-vaults-in-azure-backup-by-31-march-2026/", - "name": "Classic alerts retirement announcement" + "name": "Classic alerts retirement announcement", + "url": "https://azure.microsoft.com/updates/transition-to-builtin-azure-monitor-alerts-for-recovery-services-vaults-in-azure-backup-by-31-march-2026/" } ], "recommendationControl": "Monitoring and Alerting", @@ -2854,20 +2854,20 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/backup/backup-create-recovery-services-vault#set-cross-region-restore", - "name": "Set Cross Region Restore" + "name": "Set Cross Region Restore", + "url": "https://learn.microsoft.com/azure/backup/backup-create-recovery-services-vault#set-cross-region-restore" }, { - "url": "https://learn.microsoft.com/azure/backup/guidance-best-practices", - "name": "Azure Backup Best Practices" + "name": "Azure Backup Best Practices", + "url": "https://learn.microsoft.com/azure/backup/guidance-best-practices" }, { - "url": "https://learn.microsoft.com/azure/backup/backup-rbac-rs-vault#minimum-role-requirements-for-azure-vm-backup", - "name": "Minimum Role Requirements for Cross Region Restore" + "name": "Minimum Role Requirements for Cross Region Restore", + "url": "https://learn.microsoft.com/azure/backup/backup-rbac-rs-vault#minimum-role-requirements-for-azure-vm-backup" }, { - "url": "https://learn.microsoft.com/azure/backup/backup-azure-arm-vms-prepare", - "name": "Recovery Services Vault" + "name": "Recovery Services Vault", + "url": "https://learn.microsoft.com/azure/backup/backup-azure-arm-vms-prepare" } ], "recommendationControl": "Disaster Recovery", @@ -2887,8 +2887,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/backup/backup-azure-security-feature-cloud?tabs=azure-portal", - "name": "Soft Delete for Azure Backup" + "name": "Soft Delete for Azure Backup", + "url": "https://learn.microsoft.com/azure/backup/backup-azure-security-feature-cloud?tabs=azure-portal" } ], "recommendationControl": "Disaster Recovery", @@ -2908,8 +2908,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/entra/identity/domain-services/tutorial-create-replica-set", - "name": "Create and use replica sets for resiliency or geolocation in Microsoft Entra Domain Services" + "name": "Create and use replica sets for resiliency or geolocation in Microsoft Entra Domain Services", + "url": "https://learn.microsoft.com/en-us/entra/identity/domain-services/tutorial-create-replica-set" } ], "recommendationControl": "High Availability", @@ -2929,8 +2929,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/entra/identity/domain-services/tutorial-create-replica-set", - "name": "Create and use replica sets for resiliency or geolocation in Microsoft Entra Domain Services" + "name": "Create and use replica sets for resiliency or geolocation in Microsoft Entra Domain Services", + "url": "https://learn.microsoft.com/en-us/entra/identity/domain-services/tutorial-create-replica-set" } ], "recommendationControl": "High Availability", @@ -2950,12 +2950,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/framework/services/networking/azure-load-balancer/reliability", - "name": "Reliability and Azure Load Balancer" + "name": "Reliability and Azure Load Balancer", + "url": "https://learn.microsoft.com/azure/architecture/framework/services/networking/azure-load-balancer/reliability" }, { - "url": "https://learn.microsoft.com/azure/architecture/checklist/resiliency-per-service#azure-load-balancer", - "name": "Resiliency checklist for specific Azure services- Azure Load Balancer" + "name": "Resiliency checklist for specific Azure services- Azure Load Balancer", + "url": "https://learn.microsoft.com/azure/architecture/checklist/resiliency-per-service#azure-load-balancer" } ], "recommendationControl": "High Availability", @@ -2975,8 +2975,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/checklist/resiliency-per-service#azure-load-balancer", - "name": "Resiliency checklist for specific Azure services- Azure Load Balancer" + "name": "Resiliency checklist for specific Azure services- Azure Load Balancer", + "url": "https://learn.microsoft.com/azure/architecture/checklist/resiliency-per-service#azure-load-balancer" } ], "recommendationControl": "High Availability", @@ -2996,8 +2996,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/checklist/resiliency-per-service#azure-load-balancer", - "name": "Resiliency checklist for specific Azure services- Azure Load Balancer" + "name": "Resiliency checklist for specific Azure services- Azure Load Balancer", + "url": "https://learn.microsoft.com/azure/architecture/checklist/resiliency-per-service#azure-load-balancer" } ], "recommendationControl": "High Availability", @@ -3017,8 +3017,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-standard-availability-zones#zone-redundant", - "name": "Load Balancer and Availability Zones" + "name": "Load Balancer and Availability Zones", + "url": "https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-standard-availability-zones#zone-redundant" } ], "recommendationControl": "High Availability", @@ -3038,8 +3038,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-custom-probe-overview", - "name": "Load Balancer Health Probe Overview" + "name": "Load Balancer Health Probe Overview", + "url": "https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-custom-probe-overview" } ], "recommendationControl": "Monitoring and Alerting", @@ -3059,8 +3059,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/expressroute/designing-for-disaster-recovery-with-expressroute-privatepeering", - "name": "Designing for disaster recovery with ExpressRoute private peering" + "name": "Designing for disaster recovery with ExpressRoute private peering", + "url": "https://learn.microsoft.com/azure/expressroute/designing-for-disaster-recovery-with-expressroute-privatepeering" } ], "recommendationControl": "High Availability", @@ -3080,12 +3080,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/expressroute/designing-for-high-availability-with-expressroute", - "name": "Designing for high availability with ExpressRoute" + "name": "Designing for high availability with ExpressRoute", + "url": "https://learn.microsoft.com/en-us/azure/expressroute/designing-for-high-availability-with-expressroute" }, { - "url": "https://learn.microsoft.com/azure/well-architected/services/networking/azure-expressroute#recommendations", - "name": "Azure Well-Architected Framework review - Azure ExpressRoute - Design Checklist" + "name": "Azure Well-Architected Framework review - Azure ExpressRoute - Design Checklist", + "url": "https://learn.microsoft.com/azure/well-architected/services/networking/azure-expressroute#recommendations" } ], "recommendationControl": "High Availability", @@ -3105,8 +3105,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/expressroute/designing-for-high-availability-with-expressroute#active-active-connections", - "name": "Designing for high availability with ExpressRoute - Active-active connections" + "name": "Designing for high availability with ExpressRoute - Active-active connections", + "url": "https://learn.microsoft.com/azure/expressroute/designing-for-high-availability-with-expressroute#active-active-connections" } ], "recommendationControl": "High Availability", @@ -3126,8 +3126,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/expressroute/expressroute-bfd", - "name": "Configure BFD over ExpressRoute" + "name": "Configure BFD over ExpressRoute", + "url": "https://learn.microsoft.com/azure/expressroute/expressroute-bfd" } ], "recommendationControl": "High Availability", @@ -3147,8 +3147,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://azure.github.io/azure-monitor-baseline-alerts/services/Network/expressRouteCircuits/", - "name": "Azure Monitor Baseline Alerts - expressRouteCircuits" + "name": "Azure Monitor Baseline Alerts - expressRouteCircuits", + "url": "https://azure.github.io/azure-monitor-baseline-alerts/services/Network/expressRouteCircuits/" } ], "recommendationControl": "Monitoring and Alerting", @@ -3168,8 +3168,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/expressroute/maintenance-alerts", - "name": "How to view and configure alerts for Azure ExpressRoute circuit maintenance" + "name": "How to view and configure alerts for Azure ExpressRoute circuit maintenance", + "url": "https://learn.microsoft.com/azure/expressroute/maintenance-alerts" } ], "recommendationControl": "Monitoring and Alerting", @@ -3189,8 +3189,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/expressroute/rate-limit", - "name": "Rate limiting for ExpressRoute Direct circuits (Preview)" + "name": "Rate limiting for ExpressRoute Direct circuits (Preview)", + "url": "https://learn.microsoft.com/en-us/azure/expressroute/rate-limit" } ], "recommendationControl": "Scalability", @@ -3210,8 +3210,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/expressroute/expressroute-howto-erdirect#state", - "name": "How to configure ExpressRoute Direct Change Admin State of links" + "name": "How to configure ExpressRoute Direct Change Admin State of links", + "url": "https://learn.microsoft.com/en-us/azure/expressroute/expressroute-howto-erdirect#state" } ], "recommendationControl": "High Availability", @@ -3231,8 +3231,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/expressroute/expressroute-erdirect-about?source=recommendations#circuit-sizes", - "name": "About ExpressRoute Direct Circuit Sizes" + "name": "About ExpressRoute Direct Circuit Sizes", + "url": "https://learn.microsoft.com/en-us/azure/expressroute/expressroute-erdirect-about?source=recommendations#circuit-sizes" } ], "recommendationControl": "Scalability", @@ -3252,8 +3252,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://azure.github.io/azure-monitor-baseline-alerts/services/Network/expressRoutePorts/", - "name": "Azure Monitor Baseline Alerts - expressRoutePorts" + "name": "Azure Monitor Baseline Alerts - expressRoutePorts", + "url": "https://azure.github.io/azure-monitor-baseline-alerts/services/Network/expressRoutePorts/" } ], "recommendationControl": "Monitoring and Alerting", @@ -3273,12 +3273,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/nat-gateway/nat-gateway-design#scale-a-nat-gateway-to-meet-the-demand-of-a-dynamic-workload", - "name": "Scale a NAT gateway to meet the demand of a dynamic workload" + "name": "Scale a NAT gateway to meet the demand of a dynamic workload", + "url": "https://learn.microsoft.com/en-us/azure/nat-gateway/nat-gateway-design#scale-a-nat-gateway-to-meet-the-demand-of-a-dynamic-workload" }, { - "url": "https://learn.microsoft.com/en-us/azure/nat-gateway/nat-metrics#total-snat-connection-count", - "name": "Total SNAT Connection Count" + "name": "Total SNAT Connection Count", + "url": "https://learn.microsoft.com/en-us/azure/nat-gateway/nat-metrics#total-snat-connection-count" } ], "recommendationControl": "Scalability", @@ -3298,12 +3298,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/nat-gateway/nat-metrics", - "name": "What is Azure NAT Gateway metrics and alerts?" + "name": "What is Azure NAT Gateway metrics and alerts?", + "url": "https://learn.microsoft.com/en-us/azure/nat-gateway/nat-metrics" }, { - "url": "https://azure.github.io/azure-monitor-baseline-alerts/services/Network/natGateways/", - "name": "AMBA - NAT Gateway" + "name": "AMBA - NAT Gateway", + "url": "https://azure.github.io/azure-monitor-baseline-alerts/services/Network/natGateways/" } ], "recommendationControl": "Monitoring and Alerting", @@ -3323,8 +3323,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/nat-gateway/nat-availability-zones#zonal-nat-gateway-resource-for-each-zone-in-a-region-to-create-zone-resiliency", - "name": "Zonal NAT gateway resource for each zone in a region to create zone-resiliency" + "name": "Zonal NAT gateway resource for each zone in a region to create zone-resiliency", + "url": "https://learn.microsoft.com/en-us/azure/nat-gateway/nat-availability-zones#zonal-nat-gateway-resource-for-each-zone-in-a-region-to-create-zone-resiliency" } ], "recommendationControl": "High Availability", @@ -3344,8 +3344,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/reliability/reliability-dns", - "name": "Reliability in Azure DNS" + "name": "Reliability in Azure DNS", + "url": "https://learn.microsoft.com/azure/reliability/reliability-dns" } ], "recommendationControl": "Disaster Recovery", @@ -3365,8 +3365,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/expressroute/about-fastpath", - "name": "About ExpressRoute FastPath" + "name": "About ExpressRoute FastPath", + "url": "https://learn.microsoft.com/en-us/azure/expressroute/about-fastpath" } ], "recommendationControl": "Scalability", @@ -3386,8 +3386,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources?tabs=json", - "name": "Protect your Azure resources with a lock - Azure Resource Manager | Microsoft Learn" + "name": "Protect your Azure resources with a lock - Azure Resource Manager | Microsoft Learn", + "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources?tabs=json" } ], "recommendationControl": "High Availability", @@ -3407,8 +3407,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-monitor/essentials/diagnostic-settings", - "name": "Diagnostic settings in Azure Monitor" + "name": "Diagnostic settings in Azure Monitor", + "url": "https://learn.microsoft.com/azure/azure-monitor/essentials/diagnostic-settings" } ], "recommendationControl": "Monitoring and Alerting", @@ -3428,8 +3428,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-monitor/essentials/activity-log?tabs=powershell", - "name": "Azure Monitor activity log" + "name": "Azure Monitor activity log", + "url": "https://learn.microsoft.com/azure/azure-monitor/essentials/activity-log?tabs=powershell" } ], "recommendationControl": "Monitoring and Alerting", @@ -3449,8 +3449,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-resource-manager/management/lock-resources?toc=%2Fazure%2Fvirtual-network%2Ftoc.json&tabs=json", - "name": "Lock your resources to protect your infrastructure" + "name": "Lock your resources to protect your infrastructure", + "url": "https://learn.microsoft.com/azure/azure-resource-manager/management/lock-resources?toc=%2Fazure%2Fvirtual-network%2Ftoc.json&tabs=json" } ], "recommendationControl": "Governance", @@ -3470,8 +3470,8 @@ "recommendationMetadataState": "Disabled", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/network-watcher/network-watcher-nsg-flow-logging-overview", - "name": "Flow logging for network security groups" + "name": "Flow logging for network security groups", + "url": "https://learn.microsoft.com/azure/network-watcher/network-watcher-nsg-flow-logging-overview" } ], "recommendationControl": "Monitoring and Alerting", @@ -3491,8 +3491,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-network/network-security-groups-overview#security-rules", - "name": "Security rules" + "name": "Security rules", + "url": "https://learn.microsoft.com/azure/virtual-network/network-security-groups-overview#security-rules" } ], "recommendationControl": "Security", @@ -3512,8 +3512,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/expressroute/designing-for-disaster-recovery-with-expressroute-privatepeering", - "name": "Designing for disaster recovery with ExpressRoute private peering" + "name": "Designing for disaster recovery with ExpressRoute private peering", + "url": "https://learn.microsoft.com/azure/expressroute/designing-for-disaster-recovery-with-expressroute-privatepeering" } ], "recommendationControl": "High Availability", @@ -3533,8 +3533,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-wan/monitoring-best-practices#expressroute-gateway", - "name": "Virtual WAN Monitoring Best Practices" + "name": "Virtual WAN Monitoring Best Practices", + "url": "https://learn.microsoft.com/en-us/azure/virtual-wan/monitoring-best-practices#expressroute-gateway" } ], "recommendationControl": "Monitoring and Alerting", @@ -3554,8 +3554,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log?tabs=powershell", - "name": "Azure activity log - Azure Monitor | Microsoft Learn" + "name": "Azure activity log - Azure Monitor | Microsoft Learn", + "url": "https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log?tabs=powershell" } ], "recommendationControl": "Monitoring and Alerting", @@ -3575,8 +3575,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources?toc=%2Fazure%2Fvirtual-network%2Ftoc.json&tabs=json", - "name": "Protect your Azure resources with a lock - Azure Resource Manager | Microsoft Learn" + "name": "Protect your Azure resources with a lock - Azure Resource Manager | Microsoft Learn", + "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources?toc=%2Fazure%2Fvirtual-network%2Ftoc.json&tabs=json" } ], "recommendationControl": "Governance", @@ -3596,8 +3596,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/private-link/manage-private-endpoint?tabs=manage-private-link-powershell#private-endpoint-connections", - "name": "Private endpoint connections" + "name": "Private endpoint connections", + "url": "https://learn.microsoft.com/azure/private-link/manage-private-endpoint?tabs=manage-private-link-powershell#private-endpoint-connections" } ], "recommendationControl": "High Availability", @@ -3617,8 +3617,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-wan/monitoring-best-practices#virtual-hub", - "name": "Virtual WAN Monitoring Best Practices" + "name": "Virtual WAN Monitoring Best Practices", + "url": "https://learn.microsoft.com/en-us/azure/virtual-wan/monitoring-best-practices#virtual-hub" } ], "recommendationControl": "Monitoring and Alerting", @@ -3638,8 +3638,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/expressroute/designing-for-disaster-recovery-with-expressroute-privatepeering", - "name": "Designing for disaster recovery with ExpressRoute private peering" + "name": "Designing for disaster recovery with ExpressRoute private peering", + "url": "https://learn.microsoft.com/azure/expressroute/designing-for-disaster-recovery-with-expressroute-privatepeering" } ], "recommendationControl": "High Availability", @@ -3659,16 +3659,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/expressroute/expressroute-about-virtual-network-gateways#zrgw", - "name": "About ExpressRoute virtual network gateways - Zone-redundant gateway SKUs" + "name": "About ExpressRoute virtual network gateways - Zone-redundant gateway SKUs", + "url": "https://learn.microsoft.com/azure/expressroute/expressroute-about-virtual-network-gateways#zrgw" }, { - "url": "https://learn.microsoft.com/azure/vpn-gateway/about-zone-redundant-vnet-gateways", - "name": "About zone-redundant virtual network gateway in Azure availability zones" + "name": "About zone-redundant virtual network gateway in Azure availability zones", + "url": "https://learn.microsoft.com/azure/vpn-gateway/about-zone-redundant-vnet-gateways" }, { - "url": "https://learn.microsoft.com/azure/vpn-gateway/create-zone-redundant-vnet-gateway", - "name": "Create a zone-redundant virtual network gateway in Azure Availability Zones" + "name": "Create a zone-redundant virtual network gateway in Azure Availability Zones", + "url": "https://learn.microsoft.com/azure/vpn-gateway/create-zone-redundant-vnet-gateway" } ], "recommendationControl": "High Availability", @@ -3680,7 +3680,7 @@ "recommendationResourceType": "Microsoft.Network/virtualNetworkGateways", "recommendationImpact": "High", "automationAvailable": true, - "query": "// Azure Resource Graph Query\n// For all VNGs of type ExpressRoute, show all that are not zone redundant (Zonal or Regional)\nadvisorresources\n| where properties.recommendationTypeId == 'c9af1ef6-55bc-48af-bfe4-2c80490159f8' // RecommendationID from Advisor\n| mv-expand resId = properties.resourceMetadata.resourceId\n| extend resId = tostring(resId)\n| project recId = properties.recommendationTypeId, resId\n| join kind=leftouter (\n resources\n | extend id = tostring(id)\n | project id, name, tags, location, properties\n) on $left.resId == $right.id\n| project recommendationId = \"bbe668b7-eb5c-c746-8b82-70afdedf0cae\", name , resId, tags, param1 = strcat(\"sku-tier: \", properties.sku.tier), param2 = location,param3 = \"Non Zone-Redundant GW\"\n" + "query": "// Azure Resource Graph Query\n// For all VNGs of type ExpressRoute, show all that are not zone redundant (Zonal or Regional)\nadvisorresources\n| where properties.recommendationTypeId =~ 'c9af1ef6-55bc-48af-bfe4-2c80490159f8' // RecommendationID from Advisor\n| mv-expand resId = properties.resourceMetadata.resourceId\n| extend resId = tostring(resId)\n| project recId = properties.recommendationTypeId, resId\n| join kind=leftouter (\n resources\n | extend id = tostring(id)\n | project id, name, tags, location, properties\n) on $left.resId == $right.id\n| project recommendationId = \"bbe668b7-eb5c-c746-8b82-70afdedf0cae\", name , resId, tags, param1 = strcat(\"sku-tier: \", properties.sku.tier), param2 = location,param3 = \"Non Zone-Redundant GW\"\n" }, { "aprlGuid": "c0f23a92-d322-4d4d-97e9-a238b5e3bbb8", @@ -3688,8 +3688,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources?tabs=json", - "name": "Protect your Azure resources with a lock - Azure Resource Manager | Microsoft Learn" + "name": "Protect your Azure resources with a lock - Azure Resource Manager | Microsoft Learn", + "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources?tabs=json" } ], "recommendationControl": "High Availability", @@ -3709,12 +3709,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/expressroute/expressroute-monitoring-metrics-alerts#expressroute-gateways", - "name": "ExpressRoute monitoring, metrics, and alerts | ExpressRoute gateways" + "name": "ExpressRoute monitoring, metrics, and alerts | ExpressRoute gateways", + "url": "https://learn.microsoft.com/azure/expressroute/expressroute-monitoring-metrics-alerts#expressroute-gateways" }, { - "url": "https://learn.microsoft.com/en-us/azure/expressroute/expressroute-network-insights", - "name": "Azure ExpressRoute Insights using Network Insights" + "name": "Azure ExpressRoute Insights using Network Insights", + "url": "https://learn.microsoft.com/en-us/azure/expressroute/expressroute-network-insights" } ], "recommendationControl": "Monitoring and Alerting", @@ -3734,8 +3734,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/expressroute/expressroute-about-virtual-network-gateways#vnet-to-vnet-connectivity", - "name": "About ExpressRoute virtual network gateways - VNet-to-VNet connectivity" + "name": "About ExpressRoute virtual network gateways - VNet-to-VNet connectivity", + "url": "https://learn.microsoft.com/azure/expressroute/expressroute-about-virtual-network-gateways#vnet-to-vnet-connectivity" } ], "recommendationControl": "High Availability", @@ -3755,8 +3755,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/expressroute/customer-controlled-gateway-maintenance#azure-portal-steps", - "name": "Configure customer-controlled maintenance for your virtual network gateway - ExpressRoute | Microsoft Learn" + "name": "Configure customer-controlled maintenance for your virtual network gateway - ExpressRoute | Microsoft Learn", + "url": "https://learn.microsoft.com/en-us/azure/expressroute/customer-controlled-gateway-maintenance#azure-portal-steps" } ], "recommendationControl": "High Availability", @@ -3776,16 +3776,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/vpn-gateway/about-zone-redundant-vnet-gateways", - "name": "Zone redundant Virtual network gateway in availability zone" + "name": "Zone redundant Virtual network gateway in availability zone", + "url": "https://learn.microsoft.com/azure/vpn-gateway/about-zone-redundant-vnet-gateways" }, { - "url": "https://learn.microsoft.com/azure/vpn-gateway/about-zone-redundant-vnet-gateways#gwskus", - "name": "Gateway SKU" + "name": "Gateway SKU", + "url": "https://learn.microsoft.com/azure/vpn-gateway/about-zone-redundant-vnet-gateways#gwskus" }, { - "url": "https://www.microsoft.com/licensing/docs/view/Service-Level-Agreements-SLA-for-Online-Services?lang=1", - "name": "SLA summary for Azure services" + "name": "SLA summary for Azure services", + "url": "https://www.microsoft.com/licensing/docs/view/Service-Level-Agreements-SLA-for-Online-Services?lang=1" } ], "recommendationControl": "High Availability", @@ -3805,12 +3805,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/vpn-gateway/active-active-portal#gateway", - "name": "Active-active VPN gateway" + "name": "Active-active VPN gateway", + "url": "https://learn.microsoft.com/azure/vpn-gateway/active-active-portal#gateway" }, { - "url": "https://learn.microsoft.com/azure/vpn-gateway/vpn-gateway-about-vpn-gateway-settings#gwsku", - "name": "Gateway SKU" + "name": "Gateway SKU", + "url": "https://learn.microsoft.com/azure/vpn-gateway/vpn-gateway-about-vpn-gateway-settings#gwsku" } ], "recommendationControl": "High Availability", @@ -3830,8 +3830,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/vpn-gateway/vpn-gateway-highlyavailable#dual-redundancy-active-active-vpn-gateways-for-both-azure-and-on-premises-networks", - "name": "Dual-redundancy active-active VPN gateways for both Azure and on-premises networks" + "name": "Dual-redundancy active-active VPN gateways for both Azure and on-premises networks", + "url": "https://learn.microsoft.com/azure/vpn-gateway/vpn-gateway-highlyavailable#dual-redundancy-active-active-vpn-gateways-for-both-azure-and-on-premises-networks" } ], "recommendationControl": "Disaster Recovery", @@ -3851,8 +3851,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/vpn-gateway/monitor-vpn-gateway-reference", - "name": "VPN gateway data reference" + "name": "VPN gateway data reference", + "url": "https://learn.microsoft.com/azure/vpn-gateway/monitor-vpn-gateway-reference" } ], "recommendationControl": "Monitoring and Alerting", @@ -3872,12 +3872,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-monitor/essentials/metrics-getting-started", - "name": "Getting started with Azure Metrics Explorer" + "name": "Getting started with Azure Metrics Explorer", + "url": "https://learn.microsoft.com/azure/azure-monitor/essentials/metrics-getting-started" }, { - "url": "https://learn.microsoft.com/azure/vpn-gateway/monitor-vpn-gateway-reference#metrics", - "name": "Monitor VPN gateway" + "name": "Monitor VPN gateway", + "url": "https://learn.microsoft.com/azure/vpn-gateway/monitor-vpn-gateway-reference#metrics" } ], "recommendationControl": "Monitoring and Alerting", @@ -3897,8 +3897,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/vpn-gateway/about-zone-redundant-vnet-gateways", - "name": "About zone-redundant virtual network gateway in Azure availability zones" + "name": "About zone-redundant virtual network gateway in Azure availability zones", + "url": "https://learn.microsoft.com/azure/vpn-gateway/about-zone-redundant-vnet-gateways" } ], "recommendationControl": "High Availability", @@ -3918,8 +3918,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-wan/monitoring-best-practices#point-to-site-vpn-gateway", - "name": "Virtual WAN Monitoring Best Practices" + "name": "Virtual WAN Monitoring Best Practices", + "url": "https://learn.microsoft.com/en-us/azure/virtual-wan/monitoring-best-practices#point-to-site-vpn-gateway" } ], "recommendationControl": "Monitoring and Alerting", @@ -3939,20 +3939,20 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/web-application-firewall/afds/waf-front-door-monitor?pivots=front-door-standard-premium#access-logs", - "name": "Azure Web Application Firewall monitoring and logging - Access Log" + "name": "Azure Web Application Firewall monitoring and logging - Access Log", + "url": "https://learn.microsoft.com/azure/web-application-firewall/afds/waf-front-door-monitor?pivots=front-door-standard-premium#access-logs" }, { - "url": "https://learn.microsoft.com/azure/web-application-firewall/afds/waf-front-door-tuning?pivots=front-door-standard-premium#understanding-waf-logs", - "name": "Understanding WAF logs" + "name": "Understanding WAF logs", + "url": "https://learn.microsoft.com/azure/web-application-firewall/afds/waf-front-door-tuning?pivots=front-door-standard-premium#understanding-waf-logs" }, { - "url": "https://learn.microsoft.com/azure/web-application-firewall/ag/application-gateway-waf-configuration?tabs=portal", - "name": "Web Application Firewall exclusion lists" + "name": "Web Application Firewall exclusion lists", + "url": "https://learn.microsoft.com/azure/web-application-firewall/ag/application-gateway-waf-configuration?tabs=portal" }, { - "url": "https://learn.microsoft.com/azure/web-application-firewall/ag/web-application-firewall-troubleshoot#fixing-false-positives", - "name": "Fixing a false positive" + "name": "Fixing a false positive", + "url": "https://learn.microsoft.com/azure/web-application-firewall/ag/web-application-firewall-troubleshoot#fixing-false-positives" } ], "recommendationControl": "Monitoring and Alerting", @@ -3972,12 +3972,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/web-application-firewall/ag/application-gateway-waf-metrics#logs-and-diagnostics", - "name": "Azure Web Application Firewall Monitoring and Logging" + "name": "Azure Web Application Firewall Monitoring and Logging", + "url": "https://learn.microsoft.com/azure/web-application-firewall/ag/application-gateway-waf-metrics#logs-and-diagnostics" }, { - "url": "https://learn.microsoft.com/azure/web-application-firewall/ag/web-application-firewall-logs#diagnostic-logs", - "name": "Diagnostic logs" + "name": "Diagnostic logs", + "url": "https://learn.microsoft.com/azure/web-application-firewall/ag/web-application-firewall-logs#diagnostic-logs" } ], "recommendationControl": "Monitoring and Alerting", @@ -3997,12 +3997,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/web-application-firewall/ag/ag-overview#waf-monitoring", - "name": "WAF monitoring" + "name": "WAF monitoring", + "url": "https://learn.microsoft.com/azure/web-application-firewall/ag/ag-overview#waf-monitoring" }, { - "url": "https://github.com/Azure/Azure-Network-Security/tree/master/Azure%20WAF/Workbook%20-%20WAF%20Monitor%20Workbook", - "name": "Azure Monitor Workbook for WAF" + "name": "Azure Monitor Workbook for WAF", + "url": "https://github.com/Azure/Azure-Network-Security/tree/master/Azure%20WAF/Workbook%20-%20WAF%20Monitor%20Workbook" } ], "recommendationControl": "Monitoring and Alerting", @@ -4022,16 +4022,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/traffic-manager/traffic-manager-monitoring", - "name": "Azure Traffic Manager endpoint monitoring" + "name": "Azure Traffic Manager endpoint monitoring", + "url": "https://learn.microsoft.com/azure/traffic-manager/traffic-manager-monitoring" }, { - "url": "https://learn.microsoft.com/azure/traffic-manager/traffic-manager-monitoring#enable-or-disable-health-checks-preview", - "name": "Enable or disable health checks" + "name": "Enable or disable health checks", + "url": "https://learn.microsoft.com/azure/traffic-manager/traffic-manager-monitoring#enable-or-disable-health-checks-preview" }, { - "url": "https://learn.microsoft.com/azure/traffic-manager/traffic-manager-troubleshooting-degraded", - "name": "Troubleshooting degraded state on Azure Traffic Manager" + "name": "Troubleshooting degraded state on Azure Traffic Manager", + "url": "https://learn.microsoft.com/azure/traffic-manager/traffic-manager-troubleshooting-degraded" } ], "recommendationControl": "High Availability", @@ -4051,8 +4051,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/traffic-manager/traffic-manager-endpoint-types", - "name": "Traffic Manager Endpoint Types" + "name": "Traffic Manager Endpoint Types", + "url": "https://learn.microsoft.com/azure/traffic-manager/traffic-manager-endpoint-types" } ], "recommendationControl": "High Availability", @@ -4072,8 +4072,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/advisor/advisor-reference-reliability-recommendations#add-at-least-one-more-endpoint-to-the-profile-preferably-in-another-azure-region", - "name": "Reliability recommendations" + "name": "Reliability recommendations", + "url": "https://learn.microsoft.com/azure/advisor/advisor-reference-reliability-recommendations#add-at-least-one-more-endpoint-to-the-profile-preferably-in-another-azure-region" } ], "recommendationControl": "Disaster Recovery", @@ -4084,8 +4084,8 @@ "tags": null, "recommendationResourceType": "Microsoft.Network/trafficManagerProfiles", "recommendationImpact": "Medium", - "automationAvailable": false, - "query": "// cannot-be-validated-with-arg\n\n" + "automationAvailable": true, + "query": "// Azure Resource Graph Query\n// Find traffic manager profiles that do not have at least two endpoints in different regions\nresources\n| where type == \"microsoft.network/trafficmanagerprofiles\"\n| extend endpoints = properties.endpoints\n| mv-expand endpoint = endpoints\n| extend endpointLocation = endpoint.properties.endpointLocation\n| summarize\n regions = makeset(endpointLocation),\n tags = any(tags),\n name = any(name)\n by id\n| extend regionCount = array_length(regions)\n| where regionCount <= 1\n| project recommendationId = \"1ad9d7b7-9692-1441-a8f4-93792efbe97a\", name, id, tags, param1 = regions\n" }, { "aprlGuid": "c31f76a0-48cd-9f44-aa43-99ee904db9bc", @@ -4093,12 +4093,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/advisor/advisor-reference-reliability-recommendations#add-an-endpoint-configured-to-all-world", - "name": "Add an endpoint configured to \"All (World)\"" + "name": "Add an endpoint configured to \"All (World)\"", + "url": "https://learn.microsoft.com/azure/advisor/advisor-reference-reliability-recommendations#add-an-endpoint-configured-to-all-world" }, { - "url": "https://aka.ms/Rf7vc5", - "name": "Traffic Manager profile - GeographicProfile (Add an endpoint configured to \"\"All (World)\"\")." + "name": "Traffic Manager profile - GeographicProfile (Add an endpoint configured to \"\"All (World)\"\").", + "url": "https://aka.ms/Rf7vc5" } ], "recommendationControl": "Disaster Recovery", @@ -4118,8 +4118,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/network-watcher/network-watcher-overview", - "name": "What is Azure Network Watcher?" + "name": "What is Azure Network Watcher?", + "url": "https://learn.microsoft.com/azure/network-watcher/network-watcher-overview" } ], "recommendationControl": "Monitoring and Alerting", @@ -4139,8 +4139,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/network-watcher/nsg-flow-logging", - "name": "Manage NSG flow logs using the Azure portal" + "name": "Manage NSG flow logs using the Azure portal", + "url": "https://learn.microsoft.com/azure/network-watcher/nsg-flow-logging" } ], "recommendationControl": "Monitoring and Alerting", @@ -4160,8 +4160,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/network-watcher/connection-monitor-overview", - "name": "Connection monitor overview" + "name": "Connection monitor overview", + "url": "https://learn.microsoft.com/en-us/azure/network-watcher/connection-monitor-overview" } ], "recommendationControl": "Monitoring and Alerting", @@ -4181,12 +4181,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/network-watcher/nsg-flow-logs-overview", - "name": "Flow logging for network security groups" + "name": "Flow logging for network security groups", + "url": "https://learn.microsoft.com/en-us/azure/network-watcher/nsg-flow-logs-overview" }, { - "url": "https://learn.microsoft.com/en-us/azure/network-watcher/vnet-flow-logs-overview", - "name": "Virtual network flow logs" + "name": "Virtual network flow logs", + "url": "https://learn.microsoft.com/en-us/azure/network-watcher/vnet-flow-logs-overview" } ], "recommendationControl": "Monitoring and Alerting", @@ -4206,8 +4206,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/network-watcher/traffic-analytics", - "name": "Network Watcher traffic analytics" + "name": "Network Watcher traffic analytics", + "url": "https://learn.microsoft.com/en-us/azure/network-watcher/traffic-analytics" } ], "recommendationControl": "Monitoring and Alerting", @@ -4227,20 +4227,20 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-network/concepts-and-best-practices", - "name": "Azure Virtual Network - Concepts and best practices | Microsoft Learn" + "name": "Azure Virtual Network - Concepts and best practices | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/virtual-network/concepts-and-best-practices" }, { - "url": "https://learn.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-about-vpn-gateway-settings#gwsub", - "name": "GatewaySUbnet" + "name": "GatewaySUbnet", + "url": "https://learn.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-about-vpn-gateway-settings#gwsub" }, { - "url": "https://learn.microsoft.com/en-us/azure/route-server/route-server-faq#can-i-associate-a-network-security-group-nsg-to-the-routeserversubnet", - "name": "Can I associate a network security group (NSG) to the RouteServerSubnet?" + "name": "Can I associate a network security group (NSG) to the RouteServerSubnet?", + "url": "https://learn.microsoft.com/en-us/azure/route-server/route-server-faq#can-i-associate-a-network-security-group-nsg-to-the-routeserversubnet" }, { - "url": "https://learn.microsoft.com/en-us/azure/firewall/firewall-faq#are-network-security-groups--nsgs--supported-on-the-azurefirewallsubnet", - "name": "Are Network Security Groups (NSGs) supported on the AzureFirewallSubnet?" + "name": "Are Network Security Groups (NSGs) supported on the AzureFirewallSubnet?", + "url": "https://learn.microsoft.com/en-us/azure/firewall/firewall-faq#are-network-security-groups--nsgs--supported-on-the-azurefirewallsubnet" } ], "recommendationControl": "Security", @@ -4260,8 +4260,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/framework/services/networking/azure-virtual-network/reliability", - "name": "Reliability and Azure Virtual Network - Microsoft Azure Well-Architected Framework | Microsoft Learn" + "name": "Reliability and Azure Virtual Network - Microsoft Azure Well-Architected Framework | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/architecture/framework/services/networking/azure-virtual-network/reliability" } ], "recommendationControl": "Security", @@ -4281,16 +4281,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-network/virtual-networks-faq", - "name": "Azure Virtual Network FAQ | Microsoft Learn" + "name": "Azure Virtual Network FAQ | Microsoft Learn", + "url": "https://learn.microsoft.com/azure/virtual-network/virtual-networks-faq" }, { - "url": "https://learn.microsoft.com/azure/architecture/framework/services/networking/network-connectivity/reliability", - "name": "Reliability and Network connectivity - Microsoft Azure Well-Architected Framework | Microsoft LearnNetworking Reliability" + "name": "Reliability and Network connectivity - Microsoft Azure Well-Architected Framework | Microsoft LearnNetworking Reliability", + "url": "https://learn.microsoft.com/azure/architecture/framework/services/networking/network-connectivity/reliability" }, { - "url": "https://learn.microsoft.com/en-us/azure/private-link/availability", - "name": "Azure Private Link availability" + "name": "Azure Private Link availability", + "url": "https://learn.microsoft.com/en-us/azure/private-link/availability" } ], "recommendationControl": "Security", @@ -4310,8 +4310,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/ddos-protection/monitor-ddos-protection-reference", - "name": "Monitoring Azure DDoS Protection" + "name": "Monitoring Azure DDoS Protection", + "url": "https://learn.microsoft.com/en-us/azure/ddos-protection/monitor-ddos-protection-reference" } ], "recommendationControl": "Security", @@ -4331,8 +4331,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/application-gateway/application-gateway-autoscaling-zone-redundant#autoscaling-and-high-availability", - "name": "Application Gateway Autoscaling Zone-Redundant" + "name": "Application Gateway Autoscaling Zone-Redundant", + "url": "https://learn.microsoft.com/azure/application-gateway/application-gateway-autoscaling-zone-redundant#autoscaling-and-high-availability" } ], "recommendationControl": "Scalability", @@ -4352,24 +4352,24 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/services/networking/azure-application-gateway#security", - "name": "Application Gateway Security" + "name": "Application Gateway Security", + "url": "https://learn.microsoft.com/azure/well-architected/services/networking/azure-application-gateway#security" }, { - "url": "https://learn.microsoft.com/azure/application-gateway/ssl-overview", - "name": "Application Gateway SSL Overview" + "name": "Application Gateway SSL Overview", + "url": "https://learn.microsoft.com/azure/application-gateway/ssl-overview" }, { - "url": "https://learn.microsoft.com/azure/application-gateway/application-gateway-ssl-policy-overview", - "name": "Application Gateway SSL Policy Overview" + "name": "Application Gateway SSL Policy Overview", + "url": "https://learn.microsoft.com/azure/application-gateway/application-gateway-ssl-policy-overview" }, { - "url": "https://learn.microsoft.com/azure/application-gateway/key-vault-certs", - "name": "Application Gateway KeyVault Certs" + "name": "Application Gateway KeyVault Certs", + "url": "https://learn.microsoft.com/azure/application-gateway/key-vault-certs" }, { - "url": "https://learn.microsoft.com/azure/application-gateway/ssl-certificate-management", - "name": "Application Gateway SSL Cert Management" + "name": "Application Gateway SSL Cert Management", + "url": "https://learn.microsoft.com/azure/application-gateway/ssl-certificate-management" } ], "recommendationControl": "Security", @@ -4389,12 +4389,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/services/networking/azure-application-gateway", - "name": "Well-Architected Framework Application Gateway Overview" + "name": "Well-Architected Framework Application Gateway Overview", + "url": "https://learn.microsoft.com/azure/well-architected/services/networking/azure-application-gateway" }, { - "url": "https://learn.microsoft.com/azure/application-gateway/features#web-application-firewall", - "name": "Application Gateway - Web Application Firewall" + "name": "Application Gateway - Web Application Firewall", + "url": "https://learn.microsoft.com/azure/application-gateway/features#web-application-firewall" } ], "recommendationControl": "Security", @@ -4414,16 +4414,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/application-gateway/overview-v2", - "name": "Application Gateway Overview V2" + "name": "Application Gateway Overview V2", + "url": "https://learn.microsoft.com/azure/application-gateway/overview-v2" }, { - "url": "https://learn.microsoft.com/azure/application-gateway/overview-v2#feature-comparison-between-v1-sku-and-v2-sku", - "name": "Application Gateway Feature Comparison Between V1 and V2" + "name": "Application Gateway Feature Comparison Between V1 and V2", + "url": "https://learn.microsoft.com/azure/application-gateway/overview-v2#feature-comparison-between-v1-sku-and-v2-sku" }, { - "url": "https://azure.microsoft.com/updates/application-gateway-v1-will-be-retired-on-28-april-2026-transition-to-application-gateway-v2/", - "name": "Application Gateway V1 Retirement" + "name": "Application Gateway V1 Retirement", + "url": "https://azure.microsoft.com/updates/application-gateway-v1-will-be-retired-on-28-april-2026-transition-to-application-gateway-v2/" } ], "recommendationControl": "Scalability", @@ -4443,12 +4443,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/application-gateway/application-gateway-metrics", - "name": "Application Gateway Metrics" + "name": "Application Gateway Metrics", + "url": "https://learn.microsoft.com/azure/application-gateway/application-gateway-metrics" }, { - "url": "https://learn.microsoft.com/azure/application-gateway/application-gateway-diagnostics", - "name": "Application Gateway Diagnostics" + "name": "Application Gateway Diagnostics", + "url": "https://learn.microsoft.com/azure/application-gateway/application-gateway-diagnostics" } ], "recommendationControl": "Monitoring and Alerting", @@ -4468,12 +4468,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/application-gateway/application-gateway-probe-overview", - "name": "Application Gateway Probe Overview" + "name": "Application Gateway Probe Overview", + "url": "https://learn.microsoft.com/azure/application-gateway/application-gateway-probe-overview" }, { - "url": "https://learn.microsoft.com/azure/well-architected/services/networking/azure-application-gateway", - "name": "Well-Architected Framework Application Gateway Overview" + "name": "Well-Architected Framework Application Gateway Overview", + "url": "https://learn.microsoft.com/azure/well-architected/services/networking/azure-application-gateway" } ], "recommendationControl": "Monitoring and Alerting", @@ -4493,12 +4493,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/services/networking/azure-application-gateway#reliability", - "name": "Well-Architected Framework Application Gateway Reliability" + "name": "Well-Architected Framework Application Gateway Reliability", + "url": "https://learn.microsoft.com/azure/well-architected/services/networking/azure-application-gateway#reliability" }, { - "url": "https://learn.microsoft.com/azure/application-gateway/overview-v2", - "name": "Application Gateway V2 Overview" + "name": "Application Gateway V2 Overview", + "url": "https://learn.microsoft.com/azure/application-gateway/overview-v2" } ], "recommendationControl": "High Availability", @@ -4518,12 +4518,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/application-gateway/features#connection-draining", - "name": "Application Gateway Connection Draining" + "name": "Application Gateway Connection Draining", + "url": "https://learn.microsoft.com/azure/application-gateway/features#connection-draining" }, { - "url": "https://learn.microsoft.com/azure/application-gateway/configuration-http-settings#connection-draining", - "name": "Application Gateway Connection Draining HTTP Settings" + "name": "Application Gateway Connection Draining HTTP Settings", + "url": "https://learn.microsoft.com/azure/application-gateway/configuration-http-settings#connection-draining" } ], "recommendationControl": "High Availability", @@ -4543,8 +4543,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/application-gateway/configuration-infrastructure#size-of-the-subnet", - "name": "Azure Application Gateway infrastructure configuration | Microsoft Learn" + "name": "Azure Application Gateway infrastructure configuration | Microsoft Learn", + "url": "https://learn.microsoft.com/en-us/azure/application-gateway/configuration-infrastructure#size-of-the-subnet" } ], "recommendationControl": "Other Best Practices", @@ -4564,12 +4564,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/framework/services/networking/azure-firewall", - "name": "Azure Well Architected Framework - Azure Firewall" + "name": "Azure Well Architected Framework - Azure Firewall", + "url": "https://learn.microsoft.com/azure/architecture/framework/services/networking/azure-firewall" }, { - "url": "https://learn.microsoft.com/azure/firewall/deploy-availability-zone-powershell", - "name": "Deploy Azure Firewall across multiple availability zones" + "name": "Deploy Azure Firewall across multiple availability zones", + "url": "https://learn.microsoft.com/azure/firewall/deploy-availability-zone-powershell" } ], "recommendationControl": "High Availability", @@ -4589,12 +4589,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-monitor/essentials/metrics-supported#microsoftnetworkazurefirewalls", - "name": "Azure Firewall metrics supported in Azure Monitor" + "name": "Azure Firewall metrics supported in Azure Monitor", + "url": "https://learn.microsoft.com/azure/azure-monitor/essentials/metrics-supported#microsoftnetworkazurefirewalls" }, { - "url": "https://learn.microsoft.com/azure/firewall/firewall-performance", - "name": "Azure Firewall performance" + "name": "Azure Firewall performance", + "url": "https://learn.microsoft.com/azure/firewall/firewall-performance" } ], "recommendationControl": "Monitoring and Alerting", @@ -4614,8 +4614,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/ddos-protection/ddos-protection-overview", - "name": "Azure DDoS Protection overview" + "name": "Azure DDoS Protection overview", + "url": "https://learn.microsoft.com/azure/ddos-protection/ddos-protection-overview" } ], "recommendationControl": "Security", @@ -4635,8 +4635,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/firewall-manager/rule-hierarchy", - "name": "Azure Firewall Policy hierarchy" + "name": "Azure Firewall Policy hierarchy", + "url": "https://learn.microsoft.com/azure/firewall-manager/rule-hierarchy" } ], "recommendationControl": "Governance", @@ -4656,8 +4656,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/well-architected/service-guides/azure-firewall#recommendations", - "name": "Azure Well-Architected Framework review - Azure Firewall" + "name": "Azure Well-Architected Framework review - Azure Firewall", + "url": "https://learn.microsoft.com/en-us/azure/well-architected/service-guides/azure-firewall#recommendations" } ], "recommendationControl": "High Availability", @@ -4677,12 +4677,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/service-guides/azure-firewall#recommendations", - "name": "Azure Well-Architected Framework review - Azure Firewall" + "name": "Azure Well-Architected Framework review - Azure Firewall", + "url": "https://learn.microsoft.com/azure/well-architected/service-guides/azure-firewall#recommendations" }, { - "url": "https://learn.microsoft.com/azure/firewall/metrics", - "name": "Azure Firewall metrics overview" + "name": "Azure Firewall metrics overview", + "url": "https://learn.microsoft.com/azure/firewall/metrics" } ], "recommendationControl": "Monitoring and Alerting", @@ -4702,8 +4702,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-wan/monitoring-best-practices#virtual-wan-gateways", - "name": "Virtual WAN Monitoring Best Practices" + "name": "Virtual WAN Monitoring Best Practices", + "url": "https://learn.microsoft.com/en-us/azure/virtual-wan/monitoring-best-practices#virtual-wan-gateways" } ], "recommendationControl": "Monitoring and Alerting", @@ -4723,8 +4723,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/dns/dns-protect-private-zones-recordsets", - "name": "Protecting private DNS Zones and Records - Azure DNS" + "name": "Protecting private DNS Zones and Records - Azure DNS", + "url": "https://learn.microsoft.com/en-us/azure/dns/dns-protect-private-zones-recordsets" } ], "recommendationControl": "Security", @@ -4744,8 +4744,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://azure.github.io/azure-monitor-baseline-alerts/services/Network/privateDnsZones/", - "name": "Azure Monitor Baseline Alerts - privateDnsZones" + "name": "Azure Monitor Baseline Alerts - privateDnsZones", + "url": "https://azure.github.io/azure-monitor-baseline-alerts/services/Network/privateDnsZones/" } ], "recommendationControl": "Monitoring and Alerting", @@ -4765,8 +4765,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/cloud-adoption-framework/ready/azure-best-practices/private-link-and-dns-integration-at-scale", - "name": "Private Link and DNS integration at scale" + "name": "Private Link and DNS integration at scale", + "url": "https://learn.microsoft.com/azure/cloud-adoption-framework/ready/azure-best-practices/private-link-and-dns-integration-at-scale" } ], "recommendationControl": "Disaster Recovery", @@ -4786,8 +4786,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/reliability/reliability-dns", - "name": "Reliability in Azure DNS" + "name": "Reliability in Azure DNS", + "url": "https://learn.microsoft.com/azure/reliability/reliability-dns" } ], "recommendationControl": "Disaster Recovery", @@ -4807,12 +4807,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-network/ip-services/public-ip-addresses#availability-zone", - "name": "Public IP addresses - Availability Zones" + "name": "Public IP addresses - Availability Zones", + "url": "https://learn.microsoft.com/azure/virtual-network/ip-services/public-ip-addresses#availability-zone" }, { - "url": "https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/public-ip-basic-upgrade-guidance#steps-to-complete-the-upgrade", - "name": "Upgrading a basic public IP address to Standard SKU" + "name": "Upgrading a basic public IP address to Standard SKU", + "url": "https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/public-ip-basic-upgrade-guidance#steps-to-complete-the-upgrade" } ], "recommendationControl": "High Availability", @@ -4832,12 +4832,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/advisor/advisor-reference-reliability-recommendations#use-nat-gateway-for-outbound-connectivity", - "name": "Use NAT GW for outbound connectivity" + "name": "Use NAT GW for outbound connectivity", + "url": "https://learn.microsoft.com/azure/advisor/advisor-reference-reliability-recommendations#use-nat-gateway-for-outbound-connectivity" }, { - "url": "https://learn.microsoft.com/azure/architecture/framework/services/compute/azure-app-service/reliability#tcp-and-snat-ports", - "name": "TCP and SNAT Ports" + "name": "TCP and SNAT Ports", + "url": "https://learn.microsoft.com/azure/architecture/framework/services/compute/azure-app-service/reliability#tcp-and-snat-ports" } ], "recommendationControl": "High Availability", @@ -4857,12 +4857,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/public-ip-basic-upgrade-guidance", - "name": "Upgrading a basic public IP address to Standard SKU - Guidance" + "name": "Upgrading a basic public IP address to Standard SKU - Guidance", + "url": "https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/public-ip-basic-upgrade-guidance" }, { - "url": "https://azure.microsoft.com/en-us/updates/upgrade-to-standard-sku-public-ip-addresses-in-azure-by-30-september-2025-basic-sku-will-be-retired/", - "name": "Upgrade to Standard SKU public IP addresses in Azure by 30 September 2025 as Basic SKU will be retired" + "name": "Upgrade to Standard SKU public IP addresses in Azure by 30 September 2025 as Basic SKU will be retired", + "url": "https://azure.microsoft.com/en-us/updates/upgrade-to-standard-sku-public-ip-addresses-in-azure-by-30-september-2025-basic-sku-will-be-retired/" } ], "recommendationControl": "High Availability", @@ -4882,8 +4882,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-protection-overview", - "name": "Azure DDoS Protection" + "name": "Azure DDoS Protection", + "url": "https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-protection-overview" } ], "recommendationControl": "Security", @@ -4903,8 +4903,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://docs.citrix.com/en-us/citrix-daas-azure/limits", - "name": "Citrix Limits" + "name": "Citrix Limits", + "url": "https://docs.citrix.com/en-us/citrix-daas-azure/limits" } ], "recommendationControl": "Governance", @@ -4924,12 +4924,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/landing-zone/design-area/resource-org-management-groups#management-group-recommendations", - "name": "Management group recommendations" + "name": "Management group recommendations", + "url": "https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/landing-zone/design-area/resource-org-management-groups#management-group-recommendations" }, { - "url": "https://learn.microsoft.com/en-us/azure/governance/management-groups/overview#root-management-group-for-each-directory", - "name": "Root management group for each directory" + "name": "Root management group for each directory", + "url": "https://learn.microsoft.com/en-us/azure/governance/management-groups/overview#root-management-group-for-each-directory" } ], "recommendationControl": "Governance", @@ -4949,12 +4949,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-orchestration-modes#what-has-changed-with-flexible-orchestration-mode", - "name": "What has changed with Flexible orchestration mode" + "name": "What has changed with Flexible orchestration mode", + "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-orchestration-modes#what-has-changed-with-flexible-orchestration-mode" }, { - "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm?branch=main&tabs=portal-1%2Cportal-2%2Cportal-3", - "name": "Attach or detach a Virtual Machine to or from a Virtual Machine Scale Set" + "name": "Attach or detach a Virtual Machine to or from a Virtual Machine Scale Set", + "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm?branch=main&tabs=portal-1%2Cportal-2%2Cportal-3" } ], "recommendationControl": "High Availability", @@ -4974,8 +4974,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machines/create-portal-availability-zone?tabs=standard", - "name": "Create virtual machines in an availability zone using the Azure portal" + "name": "Create virtual machines in an availability zone using the Azure portal", + "url": "https://learn.microsoft.com/azure/virtual-machines/create-portal-availability-zone?tabs=standard" } ], "recommendationControl": "High Availability", @@ -4995,8 +4995,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/flexible-virtual-machine-scale-sets-migration-resources", - "name": "Migrate deployments and resources to Virtual Machine Scale Sets in Flexible orchestration" + "name": "Migrate deployments and resources to Virtual Machine Scale Sets in Flexible orchestration", + "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/flexible-virtual-machine-scale-sets-migration-resources" } ], "recommendationControl": "High Availability", @@ -5016,12 +5016,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/checklist/resiliency-per-service#virtual-machines", - "name": "Resiliency checklist for Virtual Machines" + "name": "Resiliency checklist for Virtual Machines", + "url": "https://learn.microsoft.com/azure/architecture/checklist/resiliency-per-service#virtual-machines" }, { - "url": "https://learn.microsoft.com/azure/site-recovery/site-recovery-test-failover-to-azure", - "name": "Run a test failover (disaster recovery drill) to Azure" + "name": "Run a test failover (disaster recovery drill) to Azure", + "url": "https://learn.microsoft.com/azure/site-recovery/site-recovery-test-failover-to-azure" } ], "recommendationControl": "Disaster Recovery", @@ -5041,16 +5041,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machines/unmanaged-disks-deprecation", - "name": "Migrate your Azure unmanaged disks by Sep 30, 2025" + "name": "Migrate your Azure unmanaged disks by Sep 30, 2025", + "url": "https://learn.microsoft.com/azure/virtual-machines/unmanaged-disks-deprecation" }, { - "url": "https://learn.microsoft.com/azure/virtual-machines/windows/convert-unmanaged-to-managed-disks", - "name": "Migrate Windows VM from unmanaged disks to managed disks" + "name": "Migrate Windows VM from unmanaged disks to managed disks", + "url": "https://learn.microsoft.com/azure/virtual-machines/windows/convert-unmanaged-to-managed-disks" }, { - "url": "https://learn.microsoft.com/azure/virtual-machines/linux/convert-unmanaged-to-managed-disks", - "name": "Migrate Linux VM from unmanaged disks to managed disks" + "name": "Migrate Linux VM from unmanaged disks to managed disks", + "url": "https://learn.microsoft.com/azure/virtual-machines/linux/convert-unmanaged-to-managed-disks" } ], "recommendationControl": "High Availability", @@ -5070,12 +5070,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machines/managed-disks-overview#data-disk", - "name": "Introduction to Azure managed disks - Data disks" + "name": "Introduction to Azure managed disks - Data disks", + "url": "https://learn.microsoft.com/azure/virtual-machines/managed-disks-overview#data-disk" }, { - "url": "https://learn.microsoft.com/azure/virtual-machines/disks-types", - "name": "Azure managed disk types" + "name": "Azure managed disk types", + "url": "https://learn.microsoft.com/azure/virtual-machines/disks-types" } ], "recommendationControl": "Scalability", @@ -5095,8 +5095,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/backup/backup-overview", - "name": "What is the Azure Backup service?" + "name": "What is the Azure Backup service?", + "url": "https://learn.microsoft.com/azure/backup/backup-overview" } ], "recommendationControl": "Disaster Recovery", @@ -5116,8 +5116,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machines/states-billing?context=%2Ftroubleshoot%2Fazure%2Fvirtual-machines%2Fcontext%2Fcontext#power-states-and-billing", - "name": "States and billing status of Azure Virtual Machines" + "name": "States and billing status of Azure Virtual Machines", + "url": "https://learn.microsoft.com/azure/virtual-machines/states-billing?context=%2Ftroubleshoot%2Fazure%2Fvirtual-machines%2Fcontext%2Fcontext#power-states-and-billing" } ], "recommendationControl": "Governance", @@ -5137,8 +5137,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview", - "name": "Accelerated Networking (AccelNet) overview" + "name": "Accelerated Networking (AccelNet) overview", + "url": "https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview" } ], "recommendationControl": "Scalability", @@ -5158,8 +5158,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview", - "name": "Accelerated Networking (AccelNet) overview" + "name": "Accelerated Networking (AccelNet) overview", + "url": "https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview" } ], "recommendationControl": "Governance", @@ -5179,8 +5179,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/load-balancer/load-balancer-outbound-connections", - "name": "Use Source Network Address Translation (SNAT) for outbound connections" + "name": "Use Source Network Address Translation (SNAT) for outbound connections", + "url": "https://learn.microsoft.com/azure/load-balancer/load-balancer-outbound-connections" } ], "recommendationControl": "Security", @@ -5200,8 +5200,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-network/network-security-group-how-it-works#intra-subnet-traffic", - "name": "How network security groups filter network traffic" + "name": "How network security groups filter network traffic", + "url": "https://learn.microsoft.com/azure/virtual-network/network-security-group-how-it-works#intra-subnet-traffic" } ], "recommendationControl": "Security", @@ -5221,8 +5221,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-network/virtual-network-network-interface?tabs=network-interface-portal#enable-or-disable-ip-forwarding", - "name": "Enable or disable IP forwarding" + "name": "Enable or disable IP forwarding", + "url": "https://learn.microsoft.com/azure/virtual-network/virtual-network-network-interface?tabs=network-interface-portal#enable-or-disable-ip-forwarding" } ], "recommendationControl": "Security", @@ -5242,8 +5242,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-network/virtual-networks-name-resolution-for-vms-and-role-instances", - "name": "Name resolution for resources in Azure virtual networks" + "name": "Name resolution for resources in Azure virtual networks", + "url": "https://learn.microsoft.com/azure/virtual-network/virtual-networks-name-resolution-for-vms-and-role-instances" } ], "recommendationControl": "Other Best Practices", @@ -5263,12 +5263,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machines/disks-shared", - "name": "Azure Shared Disk Introduction" + "name": "Azure Shared Disk Introduction", + "url": "https://learn.microsoft.com/azure/virtual-machines/disks-shared" }, { - "url": "https://learn.microsoft.com/azure/virtual-machines/disks-shared-enable?tabs=azure-portal", - "name": "Enable Shared Disks" + "name": "Enable Shared Disks", + "url": "https://learn.microsoft.com/azure/virtual-machines/disks-shared-enable?tabs=azure-portal" } ], "recommendationControl": "Other Best Practices", @@ -5288,8 +5288,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machines/disks-enable-private-links-for-import-export-portal", - "name": "Restrict import/export access for managed disks using Azure Private Link" + "name": "Restrict import/export access for managed disks using Azure Private Link", + "url": "https://learn.microsoft.com/azure/virtual-machines/disks-enable-private-links-for-import-export-portal" } ], "recommendationControl": "Security", @@ -5309,12 +5309,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/cloud-adoption-framework/ready/landing-zone/design-principles#policy-driven-governance", - "name": "Policy-driven governance" + "name": "Policy-driven governance", + "url": "https://learn.microsoft.com/azure/cloud-adoption-framework/ready/landing-zone/design-principles#policy-driven-governance" }, { - "url": "https://learn.microsoft.com/azure/virtual-machines/security-policy", - "name": "Azure Policy Regulatory Compliance controls for Azure Virtual Machines" + "name": "Azure Policy Regulatory Compliance controls for Azure Virtual Machines", + "url": "https://learn.microsoft.com/azure/virtual-machines/security-policy" } ], "recommendationControl": "Governance", @@ -5334,8 +5334,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machines/disk-encryption-overview", - "name": "Overview of managed disk encryption options" + "name": "Overview of managed disk encryption options", + "url": "https://learn.microsoft.com/azure/virtual-machines/disk-encryption-overview" } ], "recommendationControl": "Security", @@ -5355,12 +5355,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-monitor/vm/vminsights-overview", - "name": "Overview of VM insights" + "name": "Overview of VM insights", + "url": "https://learn.microsoft.com/azure/azure-monitor/vm/vminsights-overview" }, { - "url": "https://learn.microsoft.com/azure/azure-monitor/vm/vminsights-troubleshoot#did-the-extension-install-properly", - "name": "Did the extension install properly?" + "name": "Did the extension install properly?", + "url": "https://learn.microsoft.com/azure/azure-monitor/vm/vminsights-troubleshoot#did-the-extension-install-properly" } ], "recommendationControl": "Monitoring and Alerting", @@ -5380,8 +5380,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-monitor/agents/agents-overview", - "name": "Azure Monitor Agent overview" + "name": "Azure Monitor Agent overview", + "url": "https://learn.microsoft.com/en-us/azure/azure-monitor/agents/agents-overview" } ], "recommendationControl": "Monitoring and Alerting", @@ -5401,8 +5401,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machines/maintenance-configurations", - "name": "Use maintenance configurations to control and manage the VM updates" + "name": "Use maintenance configurations to control and manage the VM updates", + "url": "https://learn.microsoft.com/azure/virtual-machines/maintenance-configurations" } ], "recommendationControl": "High Availability", @@ -5422,8 +5422,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/sizes-b-series-burstable", - "name": "B-series burstable virtual machine sizes" + "name": "B-series burstable virtual machine sizes", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/sizes-b-series-burstable" } ], "recommendationControl": "Scalability", @@ -5443,8 +5443,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/disks-types#disk-type-comparison", - "name": "Disk type comparison and decision tree" + "name": "Disk type comparison and decision tree", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/disks-types#disk-type-comparison" } ], "recommendationControl": "Scalability", @@ -5464,12 +5464,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-boost/overview", - "name": "Microsoft Azure Boost" + "name": "Microsoft Azure Boost", + "url": "https://learn.microsoft.com/azure/azure-boost/overview" }, { - "url": "https://aka.ms/AzureBoostGABlog", - "name": "Announcing the general availability of Azure Boost" + "name": "Announcing the general availability of Azure Boost", + "url": "https://aka.ms/AzureBoostGABlog" } ], "recommendationControl": "High Availability", @@ -5489,16 +5489,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machines/windows/scheduled-event-service", - "name": "Monitor scheduled events for your Azure VMs" + "name": "Monitor scheduled events for your Azure VMs", + "url": "https://learn.microsoft.com/azure/virtual-machines/windows/scheduled-event-service" }, { - "url": "https://learn.microsoft.com/azure/virtual-machines/linux/scheduled-events", - "name": "Azure Metadata Service Scheduled Events for Linux VMs" + "name": "Azure Metadata Service Scheduled Events for Linux VMs", + "url": "https://learn.microsoft.com/azure/virtual-machines/linux/scheduled-events" }, { - "url": "https://learn.microsoft.com/azure/virtual-machines/windows/scheduled-events", - "name": "Azure Metadata Service Scheduled Events for Windows VMs" + "name": "Azure Metadata Service Scheduled Events for Windows VMs", + "url": "https://learn.microsoft.com/azure/virtual-machines/windows/scheduled-events" } ], "recommendationControl": "High Availability", @@ -5518,8 +5518,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://aka.ms/zrsdisksdoc", - "name": "Redundancy options for managed disks" + "name": "Redundancy options for managed disks", + "url": "https://aka.ms/zrsdisksdoc" } ], "recommendationControl": "High Availability", @@ -5539,8 +5539,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://aka.ms/on-demand-capacity-reservations-docs", - "name": "On-demand Capacity Reservation" + "name": "On-demand Capacity Reservation", + "url": "https://aka.ms/on-demand-capacity-reservations-docs" } ], "recommendationControl": "High Availability", @@ -5560,8 +5560,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/update-linux-agent?tabs=ubuntu", - "name": "How to update the Azure Linux Agent on a VM" + "name": "How to update the Azure Linux Agent on a VM", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/extensions/update-linux-agent?tabs=ubuntu" } ], "recommendationControl": "High Availability", @@ -5581,8 +5581,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://aka.ms/on-demand-capacity-reservations-docs", - "name": "On-demand Capacity Reservation" + "name": "On-demand Capacity Reservation", + "url": "https://aka.ms/on-demand-capacity-reservations-docs" } ], "recommendationControl": "Disaster Recovery", @@ -5602,8 +5602,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/azure-compute-gallery#best-practices", - "name": "Compute Gallery best practices" + "name": "Compute Gallery best practices", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/azure-compute-gallery#best-practices" } ], "recommendationControl": "High Availability", @@ -5623,12 +5623,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/azure-compute-gallery#best-practices", - "name": "Compute Gallery best practices" + "name": "Compute Gallery best practices", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/azure-compute-gallery#best-practices" }, { - "url": "https://learn.microsoft.com/en-us/azure/storage/common/storage-redundancy#zone-redundant-storage", - "name": "Zone-redundant storage" + "name": "Zone-redundant storage", + "url": "https://learn.microsoft.com/en-us/azure/storage/common/storage-redundancy#zone-redundant-storage" } ], "recommendationControl": "High Availability", @@ -5648,16 +5648,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/azure-compute-gallery#best-practices", - "name": "Compute Gallery best practices" + "name": "Compute Gallery best practices", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/azure-compute-gallery#best-practices" }, { - "url": "https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v", - "name": "Generation 1 vs Generation 2 in Hyper-V" + "name": "Generation 1 vs Generation 2 in Hyper-V", + "url": "https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v" }, { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/shared-image-galleries?tabs=azure-cli", - "name": "Images in Compute gallery" + "name": "Images in Compute gallery", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/shared-image-galleries?tabs=azure-cli" } ], "recommendationControl": "High Availability", @@ -5677,8 +5677,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machines/azure-compute-gallery#replication", - "name": "Compute Gallery Replication" + "name": "Compute Gallery Replication", + "url": "https://learn.microsoft.com/azure/virtual-machines/azure-compute-gallery#replication" } ], "recommendationControl": "Disaster Recovery", @@ -5698,8 +5698,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/azure-compute-gallery#scaling", - "name": "Compute Gallery Scaling" + "name": "Compute Gallery Scaling", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/azure-compute-gallery#scaling" } ], "recommendationControl": "Disaster Recovery", @@ -5719,12 +5719,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-design-overview#when-to-use-scale-sets-instead-of-virtual-machines", - "name": "When to use VMSS instead of VMs" + "name": "When to use VMSS instead of VMs", + "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-design-overview#when-to-use-scale-sets-instead-of-virtual-machines" }, { - "url": "https://learn.microsoft.com/azure/well-architected/services/compute/virtual-machines/virtual-machines-review", - "name": "Azure Well-Architected Framework review - Virtual Machines and Scale Sets" + "name": "Azure Well-Architected Framework review - Virtual Machines and Scale Sets", + "url": "https://learn.microsoft.com/azure/well-architected/services/compute/virtual-machines/virtual-machines-review" } ], "recommendationControl": "Scalability", @@ -5744,8 +5744,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension?tabs=rest-api", - "name": "Using Application Health extension with Virtual Machine Scale Sets" + "name": "Using Application Health extension with Virtual Machine Scale Sets", + "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension?tabs=rest-api" } ], "recommendationControl": "Monitoring and Alerting", @@ -5765,8 +5765,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-instance-repairs#requirements-for-using-automatic-instance-repairs", - "name": "Automatic instance repairs for Azure Virtual Machine Scale Sets" + "name": "Automatic instance repairs for Azure Virtual Machine Scale Sets", + "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-instance-repairs#requirements-for-using-automatic-instance-repairs" } ], "recommendationControl": "High Availability", @@ -5786,12 +5786,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-monitor/autoscale/autoscale-get-started?WT.mc_id=Portal-Microsoft_Azure_Monitoring", - "name": "Get started with autoscale in Azure" + "name": "Get started with autoscale in Azure", + "url": "https://learn.microsoft.com/azure/azure-monitor/autoscale/autoscale-get-started?WT.mc_id=Portal-Microsoft_Azure_Monitoring" }, { - "url": "https://learn.microsoft.com/azure/azure-monitor/autoscale/autoscale-overview", - "name": "Overview of autoscale in Azure" + "name": "Overview of autoscale in Azure", + "url": "https://learn.microsoft.com/azure/azure-monitor/autoscale/autoscale-overview" } ], "recommendationControl": "Scalability", @@ -5811,8 +5811,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-monitor/autoscale/autoscale-predictive", - "name": "Use predictive autoscale to scale out before load demands in virtual machine scale sets" + "name": "Use predictive autoscale to scale out before load demands in virtual machine scale sets", + "url": "https://learn.microsoft.com/azure/azure-monitor/autoscale/autoscale-predictive" } ], "recommendationControl": "Scalability", @@ -5832,8 +5832,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-scale-in-policy", - "name": "Use scale-in policies with Azure Virtual Machine Scale Sets" + "name": "Use scale-in policies with Azure Virtual Machine Scale Sets", + "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-scale-in-policy" } ], "recommendationControl": "High Availability", @@ -5853,12 +5853,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-use-availability-zones", - "name": "Create a Virtual Machine Scale Set that uses Availability Zones" + "name": "Create a Virtual Machine Scale Set that uses Availability Zones", + "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-use-availability-zones" }, { - "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-use-availability-zones?tabs=cli-1%2Cportal-2#update-scale-set-to-add-availability-zones", - "name": "Update scale set to add availability zones" + "name": "Update scale set to add availability zones", + "url": "https://learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-use-availability-zones?tabs=cli-1%2Cportal-2#update-scale-set-to-add-availability-zones" } ], "recommendationControl": "High Availability", @@ -5878,12 +5878,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching", - "name": "Automatic VM Guest Patching for Azure VMs" + "name": "Automatic VM Guest Patching for Azure VMs", + "url": "https://learn.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching" }, { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-upgrade", - "name": "Auto OS Image Upgrades" + "name": "Auto OS Image Upgrades", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-upgrade" } ], "recommendationControl": "Other Best Practices", @@ -5903,8 +5903,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/deprecated-images", - "name": "Deprecated Azure Marketplace images" + "name": "Deprecated Azure Marketplace images", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/deprecated-images" } ], "recommendationControl": "Governance", @@ -5924,20 +5924,20 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/guide/technology-choices/load-balancing-overview", - "name": "Azure Load Balancing Options" + "name": "Azure Load Balancing Options", + "url": "https://learn.microsoft.com/azure/architecture/guide/technology-choices/load-balancing-overview" }, { - "url": "https://learn.microsoft.com/azure/traffic-manager/traffic-manager-overview", - "name": "Azure Traffic Manager" + "name": "Azure Traffic Manager", + "url": "https://learn.microsoft.com/azure/traffic-manager/traffic-manager-overview" }, { - "url": "https://learn.microsoft.com/azure/frontdoor/front-door-overview", - "name": "Azure Front Door" + "name": "Azure Front Door", + "url": "https://learn.microsoft.com/azure/frontdoor/front-door-overview" }, { - "url": "https://learn.microsoft.com/en-us/azure/architecture/guide/networking/global-web-applications/mission-critical-content-delivery", - "name": "Mission-critical global content delivery" + "name": "Mission-critical global content delivery", + "url": "https://learn.microsoft.com/en-us/azure/architecture/guide/networking/global-web-applications/mission-critical-content-delivery" } ], "recommendationControl": "Business Continuity", @@ -5957,8 +5957,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/frontdoor/origin-security?tabs=app-service-functions&pivots=front-door-standard-premium", - "name": "Secure traffic to Azure Front Door origins" + "name": "Secure traffic to Azure Front Door origins", + "url": "https://learn.microsoft.com/azure/frontdoor/origin-security?tabs=app-service-functions&pivots=front-door-standard-premium" } ], "recommendationControl": "Security", @@ -5978,16 +5978,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/rest/api/frontdoor/", - "name": "REST API Reference" + "name": "REST API Reference", + "url": "https://learn.microsoft.com/rest/api/frontdoor/" }, { - "url": "https://learn.microsoft.com/java/api/overview/azure/resourcemanager-frontdoor-readme?view=azure-java-preview", - "name": "Client library for Java" + "name": "Client library for Java", + "url": "https://learn.microsoft.com/java/api/overview/azure/resourcemanager-frontdoor-readme?view=azure-java-preview" }, { - "url": "https://learn.microsoft.com/python/api/overview/azure/front-door?view=azure-python", - "name": "SDK for Python" + "name": "SDK for Python", + "url": "https://learn.microsoft.com/python/api/overview/azure/front-door?view=azure-python" } ], "recommendationControl": "Scalability", @@ -6007,16 +6007,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/frontdoor/front-door-diagnostics?pivots=front-door-standard-premium", - "name": "Monitor metrics and logs in Azure Front Door" + "name": "Monitor metrics and logs in Azure Front Door", + "url": "https://learn.microsoft.com/azure/frontdoor/front-door-diagnostics?pivots=front-door-standard-premium" }, { - "url": "https://learn.microsoft.com/azure/web-application-firewall/afds/waf-front-door-monitor?pivots=front-door-standard-premium#waf-logs", - "name": "WAF logs" + "name": "WAF logs", + "url": "https://learn.microsoft.com/azure/web-application-firewall/afds/waf-front-door-monitor?pivots=front-door-standard-premium#waf-logs" }, { - "url": "https://learn.microsoft.com/azure/frontdoor/standard-premium/how-to-logs", - "name": "Configure Azure Front Door logs" + "name": "Configure Azure Front Door logs", + "url": "https://learn.microsoft.com/azure/frontdoor/standard-premium/how-to-logs" } ], "recommendationControl": "Monitoring and Alerting", @@ -6036,8 +6036,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/frontdoor/end-to-end-tls?pivots=front-door-standard-premium", - "name": "End-to-end TLS with Azure Front Door" + "name": "End-to-end TLS with Azure Front Door", + "url": "https://learn.microsoft.com/azure/frontdoor/end-to-end-tls?pivots=front-door-standard-premium" } ], "recommendationControl": "Security", @@ -6057,8 +6057,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/frontdoor/front-door-how-to-redirect-https#create-http-to-https-redirect-rule", - "name": "Create HTTP to HTTPS redirect rule" + "name": "Create HTTP to HTTPS redirect rule", + "url": "https://learn.microsoft.com/azure/frontdoor/front-door-how-to-redirect-https#create-http-to-https-redirect-rule" } ], "recommendationControl": "Security", @@ -6078,8 +6078,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/frontdoor/standard-premium/how-to-configure-https-custom-domain?tabs=powershell", - "name": "Configure HTTPS on an Azure Front Door custom domain using the Azure portal" + "name": "Configure HTTPS on an Azure Front Door custom domain using the Azure portal", + "url": "https://learn.microsoft.com/azure/frontdoor/standard-premium/how-to-configure-https-custom-domain?tabs=powershell" } ], "recommendationControl": "Security", @@ -6099,8 +6099,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/frontdoor/standard-premium/how-to-configure-https-custom-domain?tabs=powershell#select-the-certificate-for-azure-front-door-to-deploy", - "name": "Select the certificate for Azure Front Door to deploy" + "name": "Select the certificate for Azure Front Door to deploy", + "url": "https://learn.microsoft.com/azure/frontdoor/standard-premium/how-to-configure-https-custom-domain?tabs=powershell#select-the-certificate-for-azure-front-door-to-deploy" } ], "recommendationControl": "High Availability", @@ -6120,8 +6120,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/best-practices/host-name-preservation", - "name": "Preserve the original HTTP host name between a reverse proxy and its back-end web application" + "name": "Preserve the original HTTP host name between a reverse proxy and its back-end web application", + "url": "https://learn.microsoft.com/azure/architecture/best-practices/host-name-preservation" } ], "recommendationControl": "Governance", @@ -6141,8 +6141,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/frontdoor/web-application-firewall", - "name": "Web Application Firewall on Azure Front Door" + "name": "Web Application Firewall on Azure Front Door", + "url": "https://learn.microsoft.com/azure/frontdoor/web-application-firewall" } ], "recommendationControl": "Security", @@ -6162,8 +6162,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/frontdoor/health-probes", - "name": "Health probes" + "name": "Health probes", + "url": "https://learn.microsoft.com/azure/frontdoor/health-probes" } ], "recommendationControl": "High Availability", @@ -6183,8 +6183,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/patterns/health-endpoint-monitoring", - "name": "Health Endpoint Monitoring pattern" + "name": "Health Endpoint Monitoring pattern", + "url": "https://learn.microsoft.com/azure/architecture/patterns/health-endpoint-monitoring" } ], "recommendationControl": "High Availability", @@ -6204,8 +6204,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/frontdoor/health-probes#supported-http-methods-for-health-probes", - "name": "Supported HTTP methods for health probes" + "name": "Supported HTTP methods for health probes", + "url": "https://learn.microsoft.com/azure/frontdoor/health-probes#supported-http-methods-for-health-probes" } ], "recommendationControl": "Scalability", @@ -6225,8 +6225,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/web-application-firewall/afds/waf-front-door-geo-filtering", - "name": "Geo filter WAF policy - GeoMatch" + "name": "Geo filter WAF policy - GeoMatch", + "url": "https://learn.microsoft.com/azure/web-application-firewall/afds/waf-front-door-geo-filtering" } ], "recommendationControl": "Security", @@ -6246,8 +6246,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/frontdoor/private-link", - "name": "Private link for Azure Front Door" + "name": "Private link for Azure Front Door", + "url": "https://learn.microsoft.com/azure/frontdoor/private-link" } ], "recommendationControl": "Security", @@ -6267,8 +6267,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/frontdoor/understanding-pricing", - "name": "Compare pricing between Azure Front Door tiers" + "name": "Compare pricing between Azure Front Door tiers", + "url": "https://learn.microsoft.com/en-us/azure/frontdoor/understanding-pricing" } ], "recommendationControl": "Service Upgrade and Retirement", @@ -6288,8 +6288,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/reliability/reliability-batch#cross-region-disaster-recovery-and-business-continuity", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/reliability/reliability-batch#cross-region-disaster-recovery-and-business-continuity" } ], "recommendationControl": "Monitoring and Alerting", @@ -6309,8 +6309,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/batch/create-pool-availability-zones", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/batch/create-pool-availability-zones" } ], "recommendationControl": "High Availability", @@ -6330,8 +6330,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-signalr/availability-zones", - "name": "Availability zones support in Azure SignalR Service" + "name": "Availability zones support in Azure SignalR Service", + "url": "https://learn.microsoft.com/azure/azure-signalr/availability-zones" } ], "recommendationControl": "High Availability", @@ -6351,8 +6351,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/expressroute/traffic-collector", - "name": "Azure ExpressRoute Traffic Collector" + "name": "Azure ExpressRoute Traffic Collector", + "url": "https://learn.microsoft.com/en-us/azure/expressroute/traffic-collector" } ], "recommendationControl": "Monitoring and Alerting", @@ -6372,12 +6372,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/automation/automation-disaster-recovery?tabs=win-hrw%2Cps-script%2Coption-one", - "name": "Disaster recovery for Automation accounts" + "name": "Disaster recovery for Automation accounts", + "url": "https://learn.microsoft.com/en-us/azure/automation/automation-disaster-recovery?tabs=win-hrw%2Cps-script%2Coption-one" }, { - "url": "https://learn.microsoft.com/en-us/azure/automation/automation-disaster-recovery?tabs=win-hrw%2Cps-script%2Coption-one#scenarios-for-cloud-and-hybrid-jobs", - "name": "Disaster recovery scenarios for cloud and hybrid jobs" + "name": "Disaster recovery scenarios for cloud and hybrid jobs", + "url": "https://learn.microsoft.com/en-us/azure/automation/automation-disaster-recovery?tabs=win-hrw%2Cps-script%2Coption-one#scenarios-for-cloud-and-hybrid-jobs" } ], "recommendationControl": "High Availability", @@ -6397,8 +6397,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/ai-services/diagnostic-logging", - "name": "Enable diagnostic logging for Azure AI services" + "name": "Enable diagnostic logging for Azure AI services", + "url": "https://learn.microsoft.com/en-us/azure/ai-services/diagnostic-logging" } ], "recommendationControl": "Monitoring and Alerting", @@ -6418,8 +6418,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-best-practices", - "name": "Container Registry Best Practices" + "name": "Container Registry Best Practices", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-best-practices" } ], "recommendationControl": "Scalability", @@ -6439,8 +6439,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/zone-redundancy?toc=%2Fazure%2Freliability%2Ftoc.json&bc=%2Fazure%2Freliability%2Fbreadcrumb%2Ftoc.json&branch=main", - "name": "Registry best practices - Enable zone redundancy" + "name": "Registry best practices - Enable zone redundancy", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/zone-redundancy?toc=%2Fazure%2Freliability%2Ftoc.json&bc=%2Fazure%2Freliability%2Fbreadcrumb%2Ftoc.json&branch=main" } ], "recommendationControl": "High Availability", @@ -6460,12 +6460,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-best-practices#geo-replicate-multi-region-deployments", - "name": "Registry best practices - Enable geo-replication" + "name": "Registry best practices - Enable geo-replication", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-best-practices#geo-replicate-multi-region-deployments" }, { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-geo-replication", - "name": "Geo-Replicate Container Registry" + "name": "Geo-Replicate Container Registry", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-geo-replication" } ], "recommendationControl": "Disaster Recovery", @@ -6485,8 +6485,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-best-practices#repository-namespaces", - "name": "Registry best practices - use repository namespaces" + "name": "Registry best practices - use repository namespaces", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-best-practices#repository-namespaces" } ], "recommendationControl": "Security", @@ -6506,8 +6506,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-best-practices#dedicated-resource-group", - "name": "Registry best practices - Use dedicated resource group" + "name": "Registry best practices - Use dedicated resource group", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-best-practices#dedicated-resource-group" } ], "recommendationControl": "Governance", @@ -6527,12 +6527,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-best-practices#manage-registry-size", - "name": "Registry best practices - Manage registry size" + "name": "Registry best practices - Manage registry size", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-best-practices#manage-registry-size" }, { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-retention-policy#about-the-retention-policy", - "name": "Retention Policy" + "name": "Retention Policy", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-retention-policy#about-the-retention-policy" } ], "recommendationControl": "Scalability", @@ -6552,8 +6552,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/anonymous-pull-access#about-anonymous-pull-access", - "name": "Enable anonymous pull access" + "name": "Enable anonymous pull access", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/anonymous-pull-access#about-anonymous-pull-access" } ], "recommendationControl": "Security", @@ -6573,12 +6573,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/monitor-service-reference#resource-logs", - "name": "Monitoring Azure Container Registry data reference - Resource Logs" + "name": "Monitoring Azure Container Registry data reference - Resource Logs", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/monitor-service-reference#resource-logs" }, { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/monitor-service#collection-and-routing", - "name": "Monitor Azure Container Registry - Enable diagnostic logs" + "name": "Monitor Azure Container Registry - Enable diagnostic logs", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/monitor-service#collection-and-routing" } ], "recommendationControl": "Monitoring and Alerting", @@ -6598,12 +6598,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/monitor-service-reference#metrics", - "name": "Monitoring Azure Container Registry data reference" + "name": "Monitoring Azure Container Registry data reference", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/monitor-service-reference#metrics" }, { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/monitor-service", - "name": "Monitor Azure Container Registry" + "name": "Monitor Azure Container Registry", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/monitor-service" } ], "recommendationControl": "Monitoring and Alerting", @@ -6623,8 +6623,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-soft-delete-policy", - "name": "Enable soft delete policy" + "name": "Enable soft delete policy", + "url": "https://learn.microsoft.com/en-us/azure/container-registry/container-registry-soft-delete-policy" } ], "recommendationControl": "Disaster Recovery", @@ -6644,12 +6644,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/api-management/upgrade-and-scale#change-your-api-management-service-tier", - "name": "Change your API Management service tier" + "name": "Change your API Management service tier", + "url": "https://learn.microsoft.com/en-us/azure/api-management/upgrade-and-scale#change-your-api-management-service-tier" }, { - "url": "https://learn.microsoft.com/en-us/azure/reliability/migrate-api-mgt", - "name": "Migrate Azure API Management to availability zone support" + "name": "Migrate Azure API Management to availability zone support", + "url": "https://learn.microsoft.com/en-us/azure/reliability/migrate-api-mgt" } ], "recommendationControl": "High Availability", @@ -6669,12 +6669,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/api-management/high-availability#availability-zones", - "name": "Ensure API Management availability and reliability" + "name": "Ensure API Management availability and reliability", + "url": "https://learn.microsoft.com/en-us/azure/api-management/high-availability#availability-zones" }, { - "url": "https://learn.microsoft.com/en-us/azure/reliability/migrate-api-mgt", - "name": "Migrate Azure API Management to availability zone support" + "name": "Migrate Azure API Management to availability zone support", + "url": "https://learn.microsoft.com/en-us/azure/reliability/migrate-api-mgt" } ], "recommendationControl": "High Availability", @@ -6694,12 +6694,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/api-management/breaking-changes/stv1-platform-retirement-august-2024", - "name": "Azure API Management - stv1 platform retirement (August 2024)" + "name": "Azure API Management - stv1 platform retirement (August 2024)", + "url": "https://learn.microsoft.com/en-us/azure/api-management/breaking-changes/stv1-platform-retirement-august-2024" }, { - "url": "https://learn.microsoft.com/en-us/azure/api-management/compute-infrastructure", - "name": "Azure API Management compute platform" + "name": "Azure API Management compute platform", + "url": "https://learn.microsoft.com/en-us/azure/api-management/compute-infrastructure" } ], "recommendationControl": "High Availability", @@ -6719,8 +6719,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/api-management/api-management-howto-autoscale", - "name": "Setting up auto-scale for Azure API Management" + "name": "Setting up auto-scale for Azure API Management", + "url": "https://learn.microsoft.com/azure/api-management/api-management-howto-autoscale" } ], "recommendationControl": "High Availability", @@ -6740,12 +6740,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/managed-grafana/high-availability", - "name": "Azure Managed Grafana service reliability" + "name": "Azure Managed Grafana service reliability", + "url": "https://learn.microsoft.com/azure/managed-grafana/high-availability" }, { - "url": "https://learn.microsoft.com/Azure/managed-grafana/how-to-enable-zone-redundancy", - "name": "Enable zone redundancy in Azure Managed Grafana" + "name": "Enable zone redundancy in Azure Managed Grafana", + "url": "https://learn.microsoft.com/Azure/managed-grafana/how-to-enable-zone-redundancy" } ], "recommendationControl": "High Availability", @@ -6765,8 +6765,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/container-apps/health-probes?tabs=arm-template", - "name": "Health probes for Azure Container Apps" + "name": "Health probes for Azure Container Apps", + "url": "https://learn.microsoft.com/azure/container-apps/health-probes?tabs=arm-template" } ], "recommendationControl": "High Availability", @@ -6786,8 +6786,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/reliability/reliability-azure-container-apps", - "name": "Reliability in Azure Container Apps" + "name": "Reliability in Azure Container Apps", + "url": "https://learn.microsoft.com/en-us/azure/reliability/reliability-azure-container-apps" } ], "recommendationControl": "High Availability", @@ -6807,8 +6807,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-desktop/autoscale-scaling-plan?tabs=portal", - "name": "Create and assign an autoscale scaling plan" + "name": "Create and assign an autoscale scaling plan", + "url": "https://learn.microsoft.com/azure/virtual-desktop/autoscale-scaling-plan?tabs=portal" } ], "recommendationControl": "Scalability", @@ -6828,8 +6828,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-desktop/configure-validation-environment?tabs=azure-portal", - "name": "Configure a host pool as a validation environment" + "name": "Configure a host pool as a validation environment", + "url": "https://learn.microsoft.com/azure/virtual-desktop/configure-validation-environment?tabs=azure-portal" } ], "recommendationControl": "Governance", @@ -6849,8 +6849,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-desktop/scheduled-agent-updates", - "name": "Scheduled Agent Updates for Azure Virtual Desktop host pools" + "name": "Scheduled Agent Updates for Azure Virtual Desktop host pools", + "url": "https://learn.microsoft.com/azure/virtual-desktop/scheduled-agent-updates" } ], "recommendationControl": "Governance", @@ -6870,8 +6870,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/deploy/virtual-dc/adds-on-azure-vm#configure-the-vms-and-install-active-directory-domain-services", - "name": "Configure the VMs and install Active Directory Domain Services" + "name": "Configure the VMs and install Active Directory Domain Services", + "url": "https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/deploy/virtual-dc/adds-on-azure-vm#configure-the-vms-and-install-active-directory-domain-services" } ], "recommendationControl": "Governance", @@ -6891,8 +6891,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/site-recovery/site-recovery-overview", - "name": "About Site Recovery" + "name": "About Site Recovery", + "url": "https://learn.microsoft.com/en-us/azure/site-recovery/site-recovery-overview" } ], "recommendationControl": "Disaster Recovery", @@ -6912,8 +6912,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-cache-for-redis/cache-how-to-zone-redundancy", - "name": "Enable zone redundancy for Azure Cache for Redis" + "name": "Enable zone redundancy for Azure Cache for Redis", + "url": "https://learn.microsoft.com/azure/azure-cache-for-redis/cache-how-to-zone-redundancy" } ], "recommendationControl": "High Availability", @@ -6933,8 +6933,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-administration#update-channel-and-schedule-updates", - "name": "Schedule Redis Updates" + "name": "Schedule Redis Updates", + "url": "https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-administration#update-channel-and-schedule-updates" } ], "recommendationControl": "High Availability", @@ -6954,8 +6954,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-cache-for-redis/cache-network-isolation", - "name": "Configure private endpoints for Azure Redis Cache" + "name": "Configure private endpoints for Azure Redis Cache", + "url": "https://learn.microsoft.com/azure/azure-cache-for-redis/cache-network-isolation" } ], "recommendationControl": "Security", @@ -6975,12 +6975,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/cosmos-db/distribute-data-globally", - "name": "Distribute data globally with Azure Cosmos DB" + "name": "Distribute data globally with Azure Cosmos DB", + "url": "https://learn.microsoft.com/azure/cosmos-db/distribute-data-globally" }, { - "url": "https://learn.microsoft.com/azure/cosmos-db/high-availability#tips-for-building-highly-available-applications", - "name": "Tips for building highly available applications" + "name": "Tips for building highly available applications", + "url": "https://learn.microsoft.com/azure/cosmos-db/high-availability#tips-for-building-highly-available-applications" } ], "recommendationControl": "High Availability", @@ -7000,8 +7000,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/cosmos-db/how-to-manage-database-account#automatic-failover", - "name": "Manage an Azure Cosmos DB account by using the Azure portal" + "name": "Manage an Azure Cosmos DB account by using the Azure portal", + "url": "https://learn.microsoft.com/azure/cosmos-db/how-to-manage-database-account#automatic-failover" } ], "recommendationControl": "Disaster Recovery", @@ -7021,8 +7021,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/reliability/reliability-cosmos-db-nosql", - "name": "High availability in Azure Cosmos DB" + "name": "High availability in Azure Cosmos DB", + "url": "https://learn.microsoft.com/en-us/azure/reliability/reliability-cosmos-db-nosql" } ], "recommendationControl": "High Availability", @@ -7042,12 +7042,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/cosmos-db/distribute-data-globally", - "name": "Distribute data globally with Azure Cosmos DB" + "name": "Distribute data globally with Azure Cosmos DB", + "url": "https://learn.microsoft.com/azure/cosmos-db/distribute-data-globally" }, { - "url": "https://learn.microsoft.com/azure/cosmos-db/conflict-resolution-policies", - "name": "Conflict resolution types and resolution policies in Azure Cosmos DB" + "name": "Conflict resolution types and resolution policies in Azure Cosmos DB", + "url": "https://learn.microsoft.com/azure/cosmos-db/conflict-resolution-policies" } ], "recommendationControl": "High Availability", @@ -7067,8 +7067,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/cosmos-db/continuous-backup-restore-introduction", - "name": "Continuous backup with point in time restore feature in Azure Cosmos DB" + "name": "Continuous backup with point in time restore feature in Azure Cosmos DB", + "url": "https://learn.microsoft.com/azure/cosmos-db/continuous-backup-restore-introduction" } ], "recommendationControl": "Disaster Recovery", @@ -7088,8 +7088,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/cosmos-db/nosql/query/pagination#handling-multiple-pages-of-results", - "name": "Pagination in Azure Cosmos DB" + "name": "Pagination in Azure Cosmos DB", + "url": "https://learn.microsoft.com/azure/cosmos-db/nosql/query/pagination#handling-multiple-pages-of-results" } ], "recommendationControl": "Scalability", @@ -7109,8 +7109,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/cosmos-db/nosql/conceptual-resilient-sdk-applications", - "name": "Designing resilient applications with Azure Cosmos DB SDKs" + "name": "Designing resilient applications with Azure Cosmos DB SDKs", + "url": "https://learn.microsoft.com/azure/cosmos-db/nosql/conceptual-resilient-sdk-applications" } ], "recommendationControl": "Scalability", @@ -7130,8 +7130,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/cosmos-db/nosql/conceptual-resilient-sdk-applications", - "name": "Designing resilient applications with Azure Cosmos DB SDKs" + "name": "Designing resilient applications with Azure Cosmos DB SDKs", + "url": "https://learn.microsoft.com/azure/cosmos-db/nosql/conceptual-resilient-sdk-applications" } ], "recommendationControl": "High Availability", @@ -7151,8 +7151,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/cosmos-db/create-alerts", - "name": "Create alerts for Azure Cosmos DB using Azure Monitor" + "name": "Create alerts for Azure Cosmos DB using Azure Monitor", + "url": "https://learn.microsoft.com/azure/cosmos-db/create-alerts" } ], "recommendationControl": "Monitoring and Alerting", @@ -7172,8 +7172,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/mysql/flexible-server/concepts-high-availability", - "name": "High availability concepts in Azure Database for MySQL - Flexible Server" + "name": "High availability concepts in Azure Database for MySQL - Flexible Server", + "url": "https://learn.microsoft.com/azure/mysql/flexible-server/concepts-high-availability" } ], "recommendationControl": "High Availability", @@ -7193,8 +7193,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/mysql/flexible-server/concepts-maintenance", - "name": "Scheduled maintenance in Azure Database for MySQL - Flexible Server" + "name": "Scheduled maintenance in Azure Database for MySQL - Flexible Server", + "url": "https://learn.microsoft.com/azure/mysql/flexible-server/concepts-maintenance" } ], "recommendationControl": "Scalability", @@ -7214,8 +7214,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-backup-restore", - "name": "Backup and restore in Azure Database for MySQL - Flexible Server" + "name": "Backup and restore in Azure Database for MySQL - Flexible Server", + "url": "https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-backup-restore" } ], "recommendationControl": "Disaster Recovery", @@ -7235,8 +7235,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-read-replicas", - "name": "Read replicas in Azure Database for MySQL - Flexible Server" + "name": "Read replicas in Azure Database for MySQL - Flexible Server", + "url": "https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-read-replicas" } ], "recommendationControl": "Disaster Recovery", @@ -7256,8 +7256,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-service-tiers-storage#storage-auto-grow", - "name": "Azure Database for MySQL - Flexible Server service tiers - Storage auto grow" + "name": "Azure Database for MySQL - Flexible Server service tiers - Storage auto grow", + "url": "https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-service-tiers-storage#storage-auto-grow" } ], "recommendationControl": "Scalability", @@ -7277,12 +7277,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-monitor/logs/logs-data-export", - "name": "Log Analytics workspace data export in Azure Monitor" + "name": "Log Analytics workspace data export in Azure Monitor", + "url": "https://learn.microsoft.com/azure/azure-monitor/logs/logs-data-export" }, { - "url": "https://learn.microsoft.com/azure/azure-monitor/best-practices-logs#configuration-recommendations", - "name": "Azure Monitor configuration recommendations" + "name": "Azure Monitor configuration recommendations", + "url": "https://learn.microsoft.com/azure/azure-monitor/best-practices-logs#configuration-recommendations" } ], "recommendationControl": "Governance", @@ -7302,12 +7302,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/azure-monitor/logs/log-analytics-workspace-health", - "name": "Monitor Log Analytics workspace health" + "name": "Monitor Log Analytics workspace health", + "url": "https://learn.microsoft.com/azure/azure-monitor/logs/log-analytics-workspace-health" }, { - "url": "https://learn.microsoft.com/azure/azure-monitor/best-practices-logs#configuration-recommendations", - "name": "Azure Monitor configuration recommendations" + "name": "Azure Monitor configuration recommendations", + "url": "https://learn.microsoft.com/azure/azure-monitor/best-practices-logs#configuration-recommendations" } ], "recommendationControl": "Monitoring and Alerting", @@ -7327,8 +7327,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/event-hubs/event-hubs-geo-dr?tabs=portal#availability-zones", - "name": "Azure Event Hubs - Geo-disaster recovery" + "name": "Azure Event Hubs - Geo-disaster recovery", + "url": "https://learn.microsoft.com/azure/event-hubs/event-hubs-geo-dr?tabs=portal#availability-zones" } ], "recommendationControl": "High Availability", @@ -7348,8 +7348,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/event-hubs/event-hubs-auto-inflate", - "name": "Azure Event Hubs - Automatically scale throughput units" + "name": "Azure Event Hubs - Automatically scale throughput units", + "url": "https://learn.microsoft.com/azure/event-hubs/event-hubs-auto-inflate" } ], "recommendationControl": "Scalability", @@ -7369,8 +7369,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/release-notes/runtime/databricks-runtime-ver", - "name": "Databricks runtime support lifecycles" + "name": "Databricks runtime support lifecycles", + "url": "https://learn.microsoft.com/en-us/azure/databricks/release-notes/runtime/databricks-runtime-ver" } ], "recommendationControl": "Governance", @@ -7390,8 +7390,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-machines/disks-types#premium-ssd", - "name": "Azure managed disk types" + "name": "Azure managed disk types", + "url": "https://learn.microsoft.com/azure/virtual-machines/disks-types#premium-ssd" } ], "recommendationControl": "Scalability", @@ -7411,8 +7411,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#enable-autoscaling-for-batch-workloadss", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#enable-autoscaling-for-batch-workloadss" } ], "recommendationControl": "Scalability", @@ -7432,8 +7432,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#enable-autoscaling-for-sql-warehouse", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#enable-autoscaling-for-sql-warehouse" } ], "recommendationControl": "Scalability", @@ -7453,12 +7453,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/databricks/lakehouse-architecture/reliability/best-practices", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/azure/databricks/lakehouse-architecture/reliability/best-practices" }, { - "url": "https://learn.microsoft.com/azure/databricks/delta-live-tables/settings#use-autoscaling-to-increase-efficiency-and-reduce-resource-usage", - "name": "Databricks enhanced autoscaling" + "name": "Databricks enhanced autoscaling", + "url": "https://learn.microsoft.com/azure/databricks/delta-live-tables/settings#use-autoscaling-to-increase-efficiency-and-reduce-resource-usage" } ], "recommendationControl": "Scalability", @@ -7478,8 +7478,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices" } ], "recommendationControl": "High Availability", @@ -7499,8 +7499,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/clusters/configure#cluster-log-delivery", - "name": "Create a cluster" + "name": "Create a cluster", + "url": "https://learn.microsoft.com/en-us/azure/databricks/clusters/configure#cluster-log-delivery" } ], "recommendationControl": "Monitoring and Alerting", @@ -7520,8 +7520,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices" } ], "recommendationControl": "High Availability", @@ -7541,8 +7541,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices" } ], "recommendationControl": "Business Continuity", @@ -7562,8 +7562,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices" } ], "recommendationControl": "High Availability", @@ -7583,8 +7583,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices" } ], "recommendationControl": "Scalability", @@ -7604,8 +7604,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices" } ], "recommendationControl": "High Availability", @@ -7625,8 +7625,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices" } ], "recommendationControl": "Business Continuity", @@ -7646,8 +7646,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices" } ], "recommendationControl": "Other Best Practices", @@ -7667,8 +7667,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#use-constraints-and-data-expectations", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#use-constraints-and-data-expectations" } ], "recommendationControl": "Business Continuity", @@ -7688,8 +7688,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#create-regular-backups", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#create-regular-backups" } ], "recommendationControl": "Disaster Recovery", @@ -7709,8 +7709,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#recover-from-structured-streaming-query-failures", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#recover-from-structured-streaming-query-failures" } ], "recommendationControl": "High Availability", @@ -7730,8 +7730,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#recover-etl-jobs-based-on-delta-time-travel", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#recover-etl-jobs-based-on-delta-time-travel" } ], "recommendationControl": "Disaster Recovery", @@ -7751,8 +7751,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices" } ], "recommendationControl": "Disaster Recovery", @@ -7772,8 +7772,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://github.com/Azure/AzureDatabricksBestPractices/tree/master", - "name": "Azure Databricks Best Practices" + "name": "Azure Databricks Best Practices", + "url": "https://github.com/Azure/AzureDatabricksBestPractices/tree/master" } ], "recommendationControl": "Disaster Recovery", @@ -7793,8 +7793,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/operational-excellence/best-practices#2-automate-deployments-and-workloads", - "name": "Best practices for operational excellence" + "name": "Best practices for operational excellence", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/operational-excellence/best-practices#2-automate-deployments-and-workloads" } ], "recommendationControl": "Other Best Practices", @@ -7814,8 +7814,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/operational-excellence/best-practices#system-monitoring", - "name": "Best practices for operational excellence" + "name": "Best practices for operational excellence", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/operational-excellence/best-practices#system-monitoring" } ], "recommendationControl": "Monitoring and Alerting", @@ -7835,8 +7835,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://github.com/Azure/AzureDatabricksBestPractices/blob/master/toc.md#deploy-workspaces-in-multiple-subscriptions-to-honor-azure-capacity-limits", - "name": "Azure Databricks Best Practices" + "name": "Azure Databricks Best Practices", + "url": "https://github.com/Azure/AzureDatabricksBestPractices/blob/master/toc.md#deploy-workspaces-in-multiple-subscriptions-to-honor-azure-capacity-limits" } ], "recommendationControl": "Scalability", @@ -7856,8 +7856,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://github.com/Azure/AzureDatabricksBestPractices/blob/master/toc.md#consider-isolating-each-workspace-in-its-own-vnet", - "name": "Azure Databricks Best Practices" + "name": "Azure Databricks Best Practices", + "url": "https://github.com/Azure/AzureDatabricksBestPractices/blob/master/toc.md#consider-isolating-each-workspace-in-its-own-vnet" } ], "recommendationControl": "Scalability", @@ -7877,8 +7877,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://github.com/Azure/AzureDatabricksBestPractices/blob/master/toc.md#do-not-store-any-production-data-in-default-dbfs-folders", - "name": "Azure Databricks Best Practices" + "name": "Azure Databricks Best Practices", + "url": "https://github.com/Azure/AzureDatabricksBestPractices/blob/master/toc.md#do-not-store-any-production-data-in-default-dbfs-folders" } ], "recommendationControl": "High Availability", @@ -7898,8 +7898,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/spot-vms", - "name": "Use Azure Spot Virtual Machines" + "name": "Use Azure Spot Virtual Machines", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/spot-vms" } ], "recommendationControl": "High Availability", @@ -7919,16 +7919,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/databricks/resources/supported-regions#--azure-databricks-control-plane-addresses", - "name": "Azure Databricks control plane addresses" + "name": "Azure Databricks control plane addresses", + "url": "https://learn.microsoft.com/azure/databricks/resources/supported-regions#--azure-databricks-control-plane-addresses" }, { - "url": "https://github.com/databrickslabs/migrate", - "name": "Migrate - maintained by Databricks Inc." + "name": "Migrate - maintained by Databricks Inc.", + "url": "https://github.com/databrickslabs/migrate" }, { - "url": "https://registry.terraform.io/providers/databricks/databricks/latest/docs/guides/experimental-exporter", - "name": "Databricks Terraform Exporter - maintained by Databricks Inc. (Experimental)" + "name": "Databricks Terraform Exporter - maintained by Databricks Inc. (Experimental)", + "url": "https://registry.terraform.io/providers/databricks/databricks/latest/docs/guides/experimental-exporter" } ], "recommendationControl": "High Availability", @@ -7948,12 +7948,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/databricks/compute/cluster-config-best-practices", - "name": "Compute configuration best practices" + "name": "Compute configuration best practices", + "url": "https://learn.microsoft.com/azure/databricks/compute/cluster-config-best-practices" }, { - "url": "https://learn.microsoft.com/azure/databricks/compute/gpu", - "name": "GPU-enabled compute" + "name": "GPU-enabled compute", + "url": "https://learn.microsoft.com/azure/databricks/compute/gpu" } ], "recommendationControl": "Personalized", @@ -7973,8 +7973,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#use-managed-services-where-possible", - "name": "Best practices for reliability" + "name": "Best practices for reliability", + "url": "https://learn.microsoft.com/en-us/azure/databricks/lakehouse-architecture/reliability/best-practices#use-managed-services-where-possible" } ], "recommendationControl": "Scalability", @@ -7994,8 +7994,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/connect-multiple-private-clouds-same-region", - "name": "Connect Private Clouds in the same region" + "name": "Connect Private Clouds in the same region", + "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/connect-multiple-private-clouds-same-region" } ], "recommendationControl": "High Availability", @@ -8015,12 +8015,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-identity-source-vcenter", - "name": "Set an external identity source for vCenter" + "name": "Set an external identity source for vCenter", + "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-identity-source-vcenter" }, { - "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-external-identity-source-nsx-t", - "name": "Set an external identity for NSX-T" + "name": "Set an external identity for NSX-T", + "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-external-identity-source-nsx-t" } ], "recommendationControl": "Security", @@ -8040,12 +8040,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-hcx-network-extension-high-availability", - "name": "HCX Network extension high availability" + "name": "HCX Network extension high availability", + "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-hcx-network-extension-high-availability" }, { - "url": "https://docs.vmware.com/en/VMware-HCX/4.8/hcx-user-guide/GUID-E1353511-697A-44B0-82A0-852DB55F97D7.html", - "name": "Understanding Network Extension High Availability" + "name": "Understanding Network Extension High Availability", + "url": "https://docs.vmware.com/en/VMware-HCX/4.8/hcx-user-guide/GUID-E1353511-697A-44B0-82A0-852DB55F97D7.html" } ], "recommendationControl": "High Availability", @@ -8065,8 +8065,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://docs.vmware.com/en/VMware-HCX/4.8/hcx-user-guide/GUID-0C746416-850E-46F7-85DD-4D4326A23785.html", - "name": "Requirements for Network Extension" + "name": "Requirements for Network Extension", + "url": "https://docs.vmware.com/en/VMware-HCX/4.8/hcx-user-guide/GUID-0C746416-850E-46F7-85DD-4D4326A23785.html" } ], "recommendationControl": "Other Best Practices", @@ -8086,12 +8086,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/application-platform#use-fault-domains", - "name": "Use fault domains" + "name": "Use fault domains", + "url": "https://learn.microsoft.com/en-us/azure/well-architected/azure-vmware/application-platform#use-fault-domains" }, { - "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-storage-policy", - "name": "Configure storage policy" + "name": "Configure storage policy", + "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/configure-storage-policy" } ], "recommendationControl": "High Availability", @@ -8111,12 +8111,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://azure.github.io/Azure-Proactive-Resiliency-Library/services/networking/expressroute-circuits", - "name": "APRL guidance for ExpressRoute circuits" + "name": "APRL guidance for ExpressRoute circuits", + "url": "https://azure.github.io/Azure-Proactive-Resiliency-Library/services/networking/expressroute-circuits" }, { - "url": "https://learn.microsoft.com/azure/expressroute/expressroute-howto-circuit-portal-resource-manager?pivots=expressroute-preview#create-a-new-expressroute-circuit-preview", - "name": "Create a new ExpressRoute circuit" + "name": "Create a new ExpressRoute circuit", + "url": "https://learn.microsoft.com/azure/expressroute/expressroute-howto-circuit-portal-resource-manager?pivots=expressroute-preview#create-a-new-expressroute-circuit-preview" } ], "recommendationControl": "High Availability", @@ -8136,8 +8136,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/deploy-vsan-stretched-clusters#deploy-a-stretched-cluster-private-cloud", - "name": "Deploy vSAN streched cluster" + "name": "Deploy vSAN streched cluster", + "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/deploy-vsan-stretched-clusters#deploy-a-stretched-cluster-private-cloud" } ], "recommendationControl": "High Availability", @@ -8157,12 +8157,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/move-azure-vmware-solution-across-regions", - "name": "Private Clouds in two regions" + "name": "Private Clouds in two regions", + "url": "https://learn.microsoft.com/en-us/azure/azure-vmware/move-azure-vmware-solution-across-regions" }, { - "url": "https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/azure-vmware/eslz-dual-region-network-topology", - "name": "Dual Region Network Topology" + "name": "Dual Region Network Topology", + "url": "https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/azure-vmware/eslz-dual-region-network-topology" } ], "recommendationControl": "Disaster Recovery", @@ -8182,24 +8182,24 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights", - "name": "SAP ACSS Quality Insights" + "name": "SAP ACSS Quality Insights", + "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights" }, { - "url": "https://aka.ms/ACESInventoryCheckSAP", - "name": "OpenSource Inventory Checks" + "name": "OpenSource Inventory Checks", + "url": "https://aka.ms/ACESInventoryCheckSAP" }, { - "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck", - "name": "OpenSource Quality Checks" + "name": "OpenSource Quality Checks", + "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck" }, { - "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/Move-VM-from-AvSet-to-AvZone/Move-Regional-SAP-HA-To-Zonal-SAP-HA-WhitePaper", - "name": "Move Regional SAP HA to Zonal" + "name": "Move Regional SAP HA to Zonal", + "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/Move-VM-from-AvSet-to-AvZone/Move-Regional-SAP-HA-To-Zonal-SAP-HA-WhitePaper" }, { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-architecture-scenarios#high-availability-deployment-options-for-sap-workload", - "name": "High Availability Deployment Options for SAP" + "name": "High Availability Deployment Options for SAP", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-architecture-scenarios#high-availability-deployment-options-for-sap-workload" } ], "recommendationControl": "High Availability", @@ -8219,20 +8219,20 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://aka.ms/ACESInventoryCheckSAP", - "name": "OpenSource Inventory Checks" + "name": "OpenSource Inventory Checks", + "url": "https://aka.ms/ACESInventoryCheckSAP" }, { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/virtual-machine-scale-set-sap-deployment-guide", - "name": "Virtual machine Scale Set SAP Deployment Guide" + "name": "Virtual machine Scale Set SAP Deployment Guide", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/virtual-machine-scale-set-sap-deployment-guide" }, { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/virtual-machine-scale-set-sap-deployment-guide?tabs=scaleset-cli#important-consideration-of-flexible-virtual-machine-scale-sets-for-sap-workload", - "name": "Considerations for Flexible VM Scale Sets for SAP" + "name": "Considerations for Flexible VM Scale Sets for SAP", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/virtual-machine-scale-set-sap-deployment-guide?tabs=scaleset-cli#important-consideration-of-flexible-virtual-machine-scale-sets-for-sap-workload" }, { - "url": "https://techcommunity.microsoft.com/t5/running-sap-applications-on-the/how-to-easily-migrate-an-existing-sap-system-vms-to-flexible/ba-p/3833548", - "name": "Migrate existing SAP system VMs to VMSS Flex" + "name": "Migrate existing SAP system VMs to VMSS Flex", + "url": "https://techcommunity.microsoft.com/t5/running-sap-applications-on-the/how-to-easily-migrate-an-existing-sap-system-vms-to-flexible/ba-p/3833548" } ], "recommendationControl": "High Availability", @@ -8252,24 +8252,24 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights", - "name": "SAP ACSS Insights" + "name": "SAP ACSS Insights", + "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights" }, { - "url": "https://aka.ms/ACESInventoryCheckSAP", - "name": "OpenSource Inventory Checks" + "name": "OpenSource Inventory Checks", + "url": "https://aka.ms/ACESInventoryCheckSAP" }, { - "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck", - "name": "OpenSource Quality Checks" + "name": "OpenSource Quality Checks", + "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck" }, { - "url": "https://www.azure.cn/en-us/support/sla/virtual-machines/", - "name": "VM SLA" + "name": "VM SLA", + "url": "https://www.azure.cn/en-us/support/sla/virtual-machines/" }, { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage", - "name": "SAP Storage Planning Guide" + "name": "SAP Storage Planning Guide", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage" } ], "recommendationControl": "High Availability", @@ -8289,12 +8289,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights", - "name": "SAP ACSS Insights" + "name": "SAP ACSS Insights", + "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights" }, { - "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck", - "name": "OpenSource Quality Checks" + "name": "OpenSource Quality Checks", + "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck" } ], "recommendationControl": "High Availability", @@ -8314,8 +8314,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://aka.ms/ACESInventoryCheckSAP", - "name": "OpenSource Inventory Checks" + "name": "OpenSource Inventory Checks", + "url": "https://aka.ms/ACESInventoryCheckSAP" } ], "recommendationControl": "High Availability", @@ -8335,8 +8335,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-hana-high-availability?tabs=lb-portal#test-the-cluster-setup", - "name": "Test Cases" + "name": "Test Cases", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-hana-high-availability?tabs=lb-portal#test-the-cluster-setup" } ], "recommendationControl": "High Availability", @@ -8356,8 +8356,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://aka.ms/ACESInventoryCheckSAP", - "name": "OpenSource Inventory Checks" + "name": "OpenSource Inventory Checks", + "url": "https://aka.ms/ACESInventoryCheckSAP" } ], "recommendationControl": "High Availability", @@ -8377,8 +8377,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview", - "name": "Capacity Reservation" + "name": "Capacity Reservation", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview" } ], "recommendationControl": "Disaster Recovery", @@ -8398,8 +8398,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/disaster-recovery-sap-guide?tabs=windows", - "name": "SAP Disaster Recovery Guide" + "name": "SAP Disaster Recovery Guide", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/disaster-recovery-sap-guide?tabs=windows" } ], "recommendationControl": "Disaster Recovery", @@ -8419,12 +8419,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights", - "name": "SAP ACSS Insights" + "name": "SAP ACSS Insights", + "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights" }, { - "url": "https://aka.ms/ACESInventoryCheckSAP", - "name": "OpenSource Inventory Checks" + "name": "OpenSource Inventory Checks", + "url": "https://aka.ms/ACESInventoryCheckSAP" } ], "recommendationControl": "Disaster Recovery", @@ -8444,8 +8444,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/disaster-recovery-sap-guide?tabs=windows", - "name": "DR Guidance" + "name": "DR Guidance", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/disaster-recovery-sap-guide?tabs=windows" } ], "recommendationControl": "Disaster Recovery", @@ -8465,8 +8465,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/disaster-recovery-sap-guide?tabs=windows", - "name": "DR Guidance" + "name": "DR Guidance", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/disaster-recovery-sap-guide?tabs=windows" } ], "recommendationControl": "Disaster Recovery", @@ -8486,8 +8486,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/disaster-recovery-sap-guide?tabs=windows", - "name": "DR Guidance" + "name": "DR Guidance", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/disaster-recovery-sap-guide?tabs=windows" } ], "recommendationControl": "Disaster Recovery", @@ -8507,8 +8507,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/disaster-recovery-sap-guide?tabs=windows", - "name": "DR Guidance" + "name": "DR Guidance", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/disaster-recovery-sap-guide?tabs=windows" } ], "recommendationControl": "Disaster Recovery", @@ -8528,12 +8528,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/linux/scheduled-events", - "name": "VM Scheduled Events" + "name": "VM Scheduled Events", + "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/linux/scheduled-events" }, { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-pacemaker?tabs=msi#configure-pacemaker-for-azure-scheduled-events", - "name": "Configure Pacemaker for Azure Scheduled Events" + "name": "Configure Pacemaker for Azure Scheduled Events", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-pacemaker?tabs=msi#configure-pacemaker-for-azure-scheduled-events" } ], "recommendationControl": "Monitoring and Alerting", @@ -8553,16 +8553,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights", - "name": "SAP ACSS Insights" + "name": "SAP ACSS Insights", + "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights" }, { - "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck", - "name": "OpenSource Quality Checks" + "name": "OpenSource Quality Checks", + "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck" }, { - "url": "https://docs.microsoft.com/en-us/azure/advisor/advisor-reference-reliability-recommendations", - "name": "ASCS-Pacemaker - Central Server Instance" + "name": "ASCS-Pacemaker - Central Server Instance", + "url": "https://docs.microsoft.com/en-us/azure/advisor/advisor-reference-reliability-recommendations" } ], "recommendationControl": "High Availability", @@ -8582,16 +8582,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights", - "name": "SAP ACSS Insights" + "name": "SAP ACSS Insights", + "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights" }, { - "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck", - "name": "OpenSource Quality Checks" + "name": "OpenSource Quality Checks", + "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck" }, { - "url": "https://docs.microsoft.com/en-us/azure/advisor/advisor-reference-reliability-recommendations", - "name": "ASCS-LB - Central Server Instance" + "name": "ASCS-LB - Central Server Instance", + "url": "https://docs.microsoft.com/en-us/azure/advisor/advisor-reference-reliability-recommendations" } ], "recommendationControl": "High Availability", @@ -8611,16 +8611,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights", - "name": "SAP ACSS Insights" + "name": "SAP ACSS Insights", + "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights" }, { - "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck", - "name": "OpenSource Quality Checks" + "name": "OpenSource Quality Checks", + "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck" }, { - "url": "https://docs.microsoft.com/en-us/azure/advisor/advisor-reference-reliability-recommendations", - "name": "DBHANA-Pacemaker - Database Instance" + "name": "DBHANA-Pacemaker - Database Instance", + "url": "https://docs.microsoft.com/en-us/azure/advisor/advisor-reference-reliability-recommendations" } ], "recommendationControl": "High Availability", @@ -8640,16 +8640,16 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights", - "name": "SAP ACSS Insights" + "name": "SAP ACSS Insights", + "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/get-quality-checks-insights" }, { - "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck", - "name": "OpenSource Quality Checks" + "name": "OpenSource Quality Checks", + "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/tree/main/QualityCheck" }, { - "url": "https://docs.microsoft.com/en-us/azure/advisor/advisor-reference-reliability-recommendations", - "name": "DBHANA-LB- Database Instance" + "name": "DBHANA-LB- Database Instance", + "url": "https://docs.microsoft.com/en-us/azure/advisor/advisor-reference-reliability-recommendations" } ], "recommendationControl": "High Availability", @@ -8669,8 +8669,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage#azure-netapp-files", - "name": "SAP on Azure NetApp Planning Guide" + "name": "SAP on Azure NetApp Planning Guide", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage#azure-netapp-files" } ], "recommendationControl": "High Availability", @@ -8690,28 +8690,28 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-nfs-simple-mount?tabs=lb-portal%2Censa1", - "name": "High-availability SAP NetWeaver with simple mount and NFS on SLES for SAP Applications VMs" + "name": "High-availability SAP NetWeaver with simple mount and NFS on SLES for SAP Applications VMs", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-nfs-simple-mount?tabs=lb-portal%2Censa1" }, { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-netapp-files?tabs=lb-portal%2Censa1", - "name": "High availability for SAP NetWeaver on Azure VMs on SUSE Linux Enterprise Server with Azure NetApp Files for SAP applications" + "name": "High availability for SAP NetWeaver on Azure VMs on SUSE Linux Enterprise Server with Azure NetApp Files for SAP applications", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-netapp-files?tabs=lb-portal%2Censa1" }, { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-hana-high-availability-netapp-files-suse?tabs=lb-portal", - "name": "High availability of SAP HANA scale-up with Azure NetApp Files on SUSE Enterprise Linux" + "name": "High availability of SAP HANA scale-up with Azure NetApp Files on SUSE Enterprise Linux", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-hana-high-availability-netapp-files-suse?tabs=lb-portal" }, { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-rhel-netapp-files?tabs=lb-portal%2Censa1", - "name": "Azure Virtual Machines HA for SAP NetWeaver on RHEL with Azure NetApp Files for SAP applications" + "name": "Azure Virtual Machines HA for SAP NetWeaver on RHEL with Azure NetApp Files for SAP applications", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-rhel-netapp-files?tabs=lb-portal%2Censa1" }, { - "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-hana-high-availability-netapp-files-red-hat?tabs=lb-portal", - "name": "High availability of SAP HANA scale-up with Azure NetApp Files on RHEL" + "name": "High availability of SAP HANA scale-up with Azure NetApp Files on RHEL", + "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-hana-high-availability-netapp-files-red-hat?tabs=lb-portal" }, { - "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/blob/main/QualityCheck/", - "name": "OpenSource Quality Checks" + "name": "OpenSource Quality Checks", + "url": "https://github.com/Azure/SAP-on-Azure-Scripts-and-Utilities/blob/main/QualityCheck/" } ], "recommendationControl": "Scalability", @@ -8731,8 +8731,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/powershell/high-performance-computing/hpcpack-ha-cloud?view=hpc19-ps#hpc-pack-cluster-shares", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/en-us/powershell/high-performance-computing/hpcpack-ha-cloud?view=hpc19-ps#hpc-pack-cluster-shares" } ], "recommendationControl": "High Availability", @@ -8752,8 +8752,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/powershell/high-performance-computing/hpcpack-auto-grow-shrink?view=hpc19-ps", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/en-us/powershell/high-performance-computing/hpcpack-auto-grow-shrink?view=hpc19-ps" } ], "recommendationControl": "Scalability", @@ -8773,8 +8773,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/powershell/high-performance-computing/hpcpack-ha-cloud?view=hpc19-ps#dealing-with-head-node-failure", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/en-us/powershell/high-performance-computing/hpcpack-ha-cloud?view=hpc19-ps#dealing-with-head-node-failure" } ], "recommendationControl": "High Availability", @@ -8794,8 +8794,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/powershell/high-performance-computing/hpcpack-ha-cloud?view=hpc19-ps#dealing-with-ad-failure", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/en-us/powershell/high-performance-computing/hpcpack-ha-cloud?view=hpc19-ps#dealing-with-ad-failure" } ], "recommendationControl": "High Availability", @@ -8815,8 +8815,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/azure-virtual-desktop/monitoring#resource-health", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/well-architected/azure-virtual-desktop/monitoring#resource-health" } ], "recommendationControl": "Governance", @@ -8836,8 +8836,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-desktop/insights?tabs=monitor", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/virtual-desktop/insights?tabs=monitor" } ], "recommendationControl": "Monitoring and Alerting", @@ -8857,8 +8857,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-desktop/diagnostics-log-analytics", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/virtual-desktop/diagnostics-log-analytics" } ], "recommendationControl": "Disaster Recovery", @@ -8878,8 +8878,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/cloud-adoption-framework/scenarios/azure-virtual-desktop/enterprise-scale-landing-zone", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/cloud-adoption-framework/scenarios/azure-virtual-desktop/enterprise-scale-landing-zone" } ], "recommendationControl": "Governance", @@ -8899,12 +8899,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/azure-virtual-desktop/business-continuity#capacity-planning", - "name": "Capacity Planning" + "name": "Capacity Planning", + "url": "https://learn.microsoft.com/azure/well-architected/azure-virtual-desktop/business-continuity#capacity-planning" }, { - "url": "https://learn.microsoft.com/azure/architecture/example-scenario/wvd/windows-virtual-desktop#azure-virtual-desktop-limitations", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/architecture/example-scenario/wvd/windows-virtual-desktop#azure-virtual-desktop-limitations" } ], "recommendationControl": "Disaster Recovery", @@ -8924,8 +8924,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/example-scenario/azure-virtual-desktop/azure-virtual-desktop-multi-region-bcdr", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/architecture/example-scenario/azure-virtual-desktop/azure-virtual-desktop-multi-region-bcdr" } ], "recommendationControl": "High Availability", @@ -8945,12 +8945,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/example-scenario/wvd/azure-virtual-desktop-multi-region-bcdr", - "name": "Multi-region BCDR" + "name": "Multi-region BCDR", + "url": "https://learn.microsoft.com/azure/architecture/example-scenario/wvd/azure-virtual-desktop-multi-region-bcdr" }, { - "url": "https://learn.microsoft.com/azure/well-architected/azure-virtual-desktop/business-continuity#active-active-scenarios", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/well-architected/azure-virtual-desktop/business-continuity#active-active-scenarios" } ], "recommendationControl": "Disaster Recovery", @@ -8970,8 +8970,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/storage/files/storage-files-scale-targets", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/storage/files/storage-files-scale-targets" } ], "recommendationControl": "Scalability", @@ -8991,8 +8991,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-desktop/create-host-pools-user-profile", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/virtual-desktop/create-host-pools-user-profile" } ], "recommendationControl": "Scalability", @@ -9012,12 +9012,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/fslogix/overview-what-is-fslogix", - "name": "FSLogix" + "name": "FSLogix", + "url": "https://learn.microsoft.com/fslogix/overview-what-is-fslogix" }, { - "url": "https://learn.microsoft.com/azure/backup/blob-backup-configure-manage?tabs=operational-backup", - "name": "Backup Storage Account" + "name": "Backup Storage Account", + "url": "https://learn.microsoft.com/azure/backup/blob-backup-configure-manage?tabs=operational-backup" } ], "recommendationControl": "High Availability", @@ -9037,8 +9037,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-desktop/rdp-shortpath?tabs=managed-networks", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/virtual-desktop/rdp-shortpath?tabs=managed-networks" } ], "recommendationControl": "Other Best Practices", @@ -9058,12 +9058,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-desktop/troubleshoot-rdp-shortpath", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/virtual-desktop/troubleshoot-rdp-shortpath" }, { - "url": "https://learn.microsoft.com/azure/virtual-desktop/check-access-validate-required-fqdn-endpoint", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/virtual-desktop/check-access-validate-required-fqdn-endpoint" } ], "recommendationControl": "Governance", @@ -9083,8 +9083,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/entra/identity/hybrid/connect/how-to-connect-install-multiple-domains", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/entra/identity/hybrid/connect/how-to-connect-install-multiple-domains" } ], "recommendationControl": "Security", @@ -9104,8 +9104,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/expressroute/designing-for-disaster-recovery-with-expressroute-privatepeering#need-for-redundant-connectivity-solution", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/expressroute/designing-for-disaster-recovery-with-expressroute-privatepeering#need-for-redundant-connectivity-solution" } ], "recommendationControl": "High Availability", @@ -9125,8 +9125,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/cloud-adoption-framework/ready/azure-best-practices/plan-for-ip-addressing", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/cloud-adoption-framework/ready/azure-best-practices/plan-for-ip-addressing" } ], "recommendationControl": "Business Continuity", @@ -9146,12 +9146,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-network/service-tags-overview", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/virtual-network/service-tags-overview" }, { - "url": "https://learn.microsoft.com/azure/virtual-network/virtual-networks-udr-overview", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/virtual-network/virtual-networks-udr-overview" } ], "recommendationControl": "Other Best Practices", @@ -9171,8 +9171,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/training/modules/create-manage-session-host-image/", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/training/modules/create-manage-session-host-image/" } ], "recommendationControl": "Governance", @@ -9192,8 +9192,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/fslogix/reference-configuration-settings?tabs=profiles", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/fslogix/reference-configuration-settings?tabs=profiles" } ], "recommendationControl": "Governance", @@ -9213,8 +9213,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/fslogix/how-to-configure-storage-permissions", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/fslogix/how-to-configure-storage-permissions" } ], "recommendationControl": "Security", @@ -9234,12 +9234,12 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/fslogix/troubleshooting-events-logs-diagnostics", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/fslogix/troubleshooting-events-logs-diagnostics" }, { - "url": "https://learn.microsoft.com/azure/storage/files/storage-files-monitoring", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/storage/files/storage-files-monitoring" } ], "recommendationControl": "Monitoring and Alerting", @@ -9259,8 +9259,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/fslogix/how-to-install-fslogix", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/fslogix/how-to-install-fslogix" } ], "recommendationControl": "Governance", @@ -9280,8 +9280,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-desktop/app-attach-overview?pivots=msix-app-attach", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/virtual-desktop/app-attach-overview?pivots=msix-app-attach" } ], "recommendationControl": "High Availability", @@ -9301,8 +9301,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/virtual-desktop/app-attach-overview?pivots=msix-app-attach", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/virtual-desktop/app-attach-overview?pivots=msix-app-attach" } ], "recommendationControl": "Disaster Recovery", @@ -9322,8 +9322,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/key-vault/general/disaster-recovery-guidance", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/key-vault/general/disaster-recovery-guidance" } ], "recommendationControl": "Disaster Recovery", @@ -9343,8 +9343,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/example-scenario/azure-virtual-desktop/azure-virtual-desktop-multi-region-bcdr", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/architecture/example-scenario/azure-virtual-desktop/azure-virtual-desktop-multi-region-bcdr" } ], "recommendationControl": "Disaster Recovery", @@ -9364,8 +9364,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/architecture/example-scenario/identity/adds-extend-domain#reliability", - "name": "Learn More" + "name": "Learn More", + "url": "https://learn.microsoft.com/azure/architecture/example-scenario/identity/adds-extend-domain#reliability" } ], "recommendationControl": "High Availability", @@ -9385,8 +9385,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/simplify", - "name": "RE:01 Simplicity and efficiency" + "name": "RE:01 Simplicity and efficiency", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/simplify" } ], "recommendationControl": "Other Best Practices", @@ -9406,8 +9406,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/identify-flows", - "name": "RE:02 Critical flows" + "name": "RE:02 Critical flows", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/identify-flows" } ], "recommendationControl": "High Availability", @@ -9427,8 +9427,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/failure-mode-analysis", - "name": "RE:03 Failure mode analysis" + "name": "RE:03 Failure mode analysis", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/failure-mode-analysis" } ], "recommendationControl": "Other Best Practices", @@ -9448,8 +9448,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/metrics", - "name": "RE:04 Target metrics" + "name": "RE:04 Target metrics", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/metrics" } ], "recommendationControl": "High Availability", @@ -9469,8 +9469,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/redundancy", - "name": "RE:05 Redundancy" + "name": "RE:05 Redundancy", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/redundancy" } ], "recommendationControl": "High Availability", @@ -9490,8 +9490,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/en-us/azure/well-architected/reliability/highly-available-multi-region-design", - "name": "RE:05 High-availability multi-region design" + "name": "RE:05 High-availability multi-region design", + "url": "https://learn.microsoft.com/en-us/azure/well-architected/reliability/highly-available-multi-region-design" } ], "recommendationControl": "High Availability", @@ -9511,8 +9511,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/regions-availability-zones", - "name": "Regions and availability zones" + "name": "Regions and availability zones", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/regions-availability-zones" } ], "recommendationControl": "High Availability", @@ -9532,8 +9532,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/partition-data", - "name": "RE:06 Data partitioning" + "name": "RE:06 Data partitioning", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/partition-data" } ], "recommendationControl": "High Availability", @@ -9553,8 +9553,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/scaling", - "name": "RE:06 Scaling" + "name": "RE:06 Scaling", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/scaling" } ], "recommendationControl": "Scalability", @@ -9574,8 +9574,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/background-jobs", - "name": "RE:07 Background jobs" + "name": "RE:07 Background jobs", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/background-jobs" } ], "recommendationControl": "Other Best Practices", @@ -9595,8 +9595,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/self-preservation", - "name": "RE:07 Self-preservation" + "name": "RE:07 Self-preservation", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/self-preservation" } ], "recommendationControl": "High Availability", @@ -9616,8 +9616,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/handle-transient-faults", - "name": "RE:07 Transient faults" + "name": "RE:07 Transient faults", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/handle-transient-faults" } ], "recommendationControl": "High Availability", @@ -9637,8 +9637,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/testing-strategy", - "name": "RE:08 Testing" + "name": "RE:08 Testing", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/testing-strategy" } ], "recommendationControl": "Other Best Practices", @@ -9658,8 +9658,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/disaster-recovery", - "name": "RE:09 Disaster recovery" + "name": "RE:09 Disaster recovery", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/disaster-recovery" } ], "recommendationControl": "Disaster Recovery", @@ -9679,8 +9679,8 @@ "recommendationMetadataState": "Active", "learnMoreLink": [ { - "url": "https://learn.microsoft.com/azure/well-architected/reliability/monitoring-alerting-strategy", - "name": "RE:10 Monitoring and alerting" + "name": "RE:10 Monitoring and alerting", + "url": "https://learn.microsoft.com/azure/well-architected/reliability/monitoring-alerting-strategy" } ], "recommendationControl": "Monitoring and Alerting",