From cb65ee23696ee34265bd3c53e13fdf0f64be167d Mon Sep 17 00:00:00 2001 From: Tomas Kovarik Date: Mon, 5 Oct 2026 17:29:48 -0700 Subject: [PATCH 1/3] [Cosmos] Rename HA recommendation and extend it to cover PPAF feature Achieving 5 9's availability previously required enabling multi-region writes. Enabling it has implications for application design, and not all applications are eligible. Recently, Cosmos DB GA'ed Per-Partition Automatic Failover (PPAF) which provides same high SLAs in single-region writes set up opening up path to very high availability for many more applications. This PR does two things: - rename the APRL recommendation to Enable Business Critical BC tier, which covers scenarios where either feature is enabled - update the relevant KQL to include check for PPAF disabled --- .../kql/9ce78192-74a0-104c-b5bb-9a443f941649.kql | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/azure-resources/DocumentDB/databaseAccounts/kql/9ce78192-74a0-104c-b5bb-9a443f941649.kql b/azure-resources/DocumentDB/databaseAccounts/kql/9ce78192-74a0-104c-b5bb-9a443f941649.kql index c8746f6ba..aaaabdccd 100644 --- a/azure-resources/DocumentDB/databaseAccounts/kql/9ce78192-74a0-104c-b5bb-9a443f941649.kql +++ b/azure-resources/DocumentDB/databaseAccounts/kql/9ce78192-74a0-104c-b5bb-9a443f941649.kql @@ -3,7 +3,8 @@ Resources | where type =~ 'Microsoft.DocumentDb/databaseAccounts' | where - array_length(properties.locations) > 1 and - properties.enableMultipleWriteLocations == false + array_length(properties.locations) > 1 and ( + properties.enableMultipleWriteLocations == false and + properties.perPartitionAutomaticFailoverEnabled == false + ) | project recommendationId='9ce78192-74a0-104c-b5bb-9a443f941649', name, id, tags - From 55063a62e52c226c9e4617ce820ac9d6c5e47774 Mon Sep 17 00:00:00 2001 From: Tomas Kovarik Date: Mon, 5 Oct 2026 17:48:11 -0700 Subject: [PATCH 2/3] Rename recommendation --- .../DocumentDB/databaseAccounts/recommendations.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-resources/DocumentDB/databaseAccounts/recommendations.yaml b/azure-resources/DocumentDB/databaseAccounts/recommendations.yaml index 036ddea74..367f6e308 100644 --- a/azure-resources/DocumentDB/databaseAccounts/recommendations.yaml +++ b/azure-resources/DocumentDB/databaseAccounts/recommendations.yaml @@ -49,7 +49,7 @@ - name: High availability in Azure Cosmos DB url: "https://learn.microsoft.com/azure/reliability/reliability-cosmos-db-nosql" -- description: Evaluate multi-region write capability +- description: Enable Business Critical tier for highest availability aprlGuid: 9ce78192-74a0-104c-b5bb-9a443f941649 recommendationTypeId: null recommendationControl: HighAvailability @@ -57,7 +57,7 @@ recommendationResourceType: Microsoft.DocumentDB/databaseAccounts recommendationMetadataState: Active longDescription: | - Multi-region writes enable high availability but require careful consistency and conflict resolution. Using Bounded Staleness is an anti-pattern, as replication lag increases latency and coordination overhead. This setup undermines scalability, impacting performance and availability. + Opting into Business Critical Tier enables achieving 99.999% availability through either multi-region writes or PPAF. Multi-region writes supports all APIs but requires conflict-aware application design; PPAF requires the NoSQL API and newer SDKs. potentialBenefits: Enhances high availability pgVerified: true automationAvailable: true From d69be0112e331f9b9f746fb4b92bf0f1ea3dacb5 Mon Sep 17 00:00:00 2001 From: Tomas Kovarik Date: Mon, 5 Oct 2026 17:53:36 -0700 Subject: [PATCH 3/3] remove trailing whitespace --- .../kql/9ce78192-74a0-104c-b5bb-9a443f941649.kql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-resources/DocumentDB/databaseAccounts/kql/9ce78192-74a0-104c-b5bb-9a443f941649.kql b/azure-resources/DocumentDB/databaseAccounts/kql/9ce78192-74a0-104c-b5bb-9a443f941649.kql index aaaabdccd..ad2da6c97 100644 --- a/azure-resources/DocumentDB/databaseAccounts/kql/9ce78192-74a0-104c-b5bb-9a443f941649.kql +++ b/azure-resources/DocumentDB/databaseAccounts/kql/9ce78192-74a0-104c-b5bb-9a443f941649.kql @@ -4,7 +4,7 @@ Resources | where type =~ 'Microsoft.DocumentDb/databaseAccounts' | where array_length(properties.locations) > 1 and ( - properties.enableMultipleWriteLocations == false and + properties.enableMultipleWriteLocations == false and properties.perPartitionAutomaticFailoverEnabled == false ) | project recommendationId='9ce78192-74a0-104c-b5bb-9a443f941649', name, id, tags