Skip to content

Commit 6913c4d

Browse files
authored
Merge pull request #300793 from johndowns/reliability-blob-1
Reliability guide: Azure Blob Storage
2 parents 4b6374b + dcb229c commit 6913c4d

17 files changed

+236
-219
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6998,11 +6998,15 @@
69986998
"source_path": "articles/reliability/migrate-sql-database.md",
69996999
"redirect_url": "/azure/azure-sql/database/enable-zone-redundancy",
70007000
"redirect_document_id": false
7001-
},
7001+
},
70027002
{
70037003
"source_path": "articles/reliability/migrate-app-gateway-v2.md",
70047004
"redirect_url": "/azure/reliability/reliability-application-gateway-v2",
70057005
"redirect_document_id": false
7006+
},
7007+
{
7008+
"source_path": "articles/reliability/migrate-storage.md",
7009+
"redirect_url": "/azure/storage/common/redundancy-migration",
70067010
}
70077011
]
70087012
}

articles/reliability/TOC.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -280,11 +280,7 @@
280280
- name: Azure Backup
281281
href: reliability-backup.md
282282
- name: Azure Blob Storage
283-
items:
284-
- name: Availability zones
285-
href: /azure/storage/common/storage-disaster-recovery-guidance?toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json#choose-the-right-redundancy-option
286-
- name: Disaster recovery
287-
href: /azure/storage/common/storage-disaster-recovery-guidance?toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json
283+
href: reliability-storage-blob.md
288284
- name: Azure Databox
289285
href: ../databox/data-box-disk-faq.yml?toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json#how-can-i-recover-my-data-if-an-entire-region-fails-
290286
- name: Azure Elastic SAN
@@ -347,6 +343,8 @@
347343
href: reliability-app-service.md#configure-availability-zone-support
348344
- name: Azure Application Gateway
349345
href: migrate-app-gateway-v2.md
346+
- name: Azure Blob Storage
347+
href: reliability-storage-blob.md
350348
- name: Azure Functions
351349
href: migrate-functions.md
352350
- name: Azure Backup
@@ -387,8 +385,6 @@
387385
href: /azure/azure-sql/database/enable-zone-redundancy?view=azuresql-db&preserve-view=true&toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json
388386
- name: Azure SQL Managed Instance
389387
href: /azure/azure-sql/managed-instance/instance-zone-redundancy-configure
390-
- name: Azure Storage accounts
391-
href: migrate-storage.md
392388
- name: Azure Virtual Machines and Virtual Machine Scale Sets
393389
href: migrate-vm.md
394390
- name: Reliability concepts

articles/reliability/availability-zones-migration-overview.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ To improve the reliability of your solution, it's a good practice to enable avai
3232
- [Azure Cosmos DB](./reliability-cosmos-db-nosql.md#migrate-to-availability-zone-support)
3333
- [Azure Database for MySQL - Flexible Server](migrate-database-mysql-flex.md)
3434
- [Azure Database for PostgreSQL](./reliability-postgresql-flexible-server.md#availability-zone-redeployment-and-migration)
35+
- [Azure Disk Storage](migrate-vm.md)
3536
- [Azure Elastic SAN](reliability-elastic-san.md#availability-zone-migration)
3637
- [Azure ExpressRoute](/azure/expressroute/expressroute-howto-gateway-migration-portal)
3738
- [Azure Functions](reliability-functions.md#availability-zone-migration)
@@ -44,13 +45,10 @@ To improve the reliability of your solution, it's a good practice to enable avai
4445
- [Azure Service Fabric](migrate-service-fabric.md)
4546
- [Azure SQL Database](/azure/azure-sql/database/enable-zone-redundancy?view=azuresql-db&preserve-view=true&toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json)
4647
- [Azure SQL Managed Instance](/azure/azure-sql/managed-instance/instance-zone-redundancy-configure)
47-
- [Azure Storage account: Blob Storage, Azure Data Lake Storage, Files Storage](migrate-storage.md)
48-
- [Azure Storage: Managed Disks](migrate-vm.md)
48+
- [Azure Storage: Azure Blob Storage, Azure Data Lake Storage Gen2, Azure Files](/azure/storage/common/redundancy-migration)
4949
- [Azure Virtual Machines and Azure Virtual Machine Scale Sets](migrate-vm.md)
5050

5151

52-
53-
5452
## Related resources
5553
- [Azure reliability guides](overview-reliability-guidance.md)
5654
- [Azure services with availability zones](availability-zones-service-support.md)

articles/reliability/availability-zones-service-support.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ Some Azure services are *nonregional*, which means that you don't deploy the ser
3939
| [Azure Backup](reliability-backup.md#availability-zone-support) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
4040
| [Azure Bastion](../bastion/bastion-overview.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: |
4141
| [Azure Batch](./reliability-batch.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: ||
42+
| [Azure Blob Storage](./reliability-storage-blob.md#availability-zone-support) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
4243
| [Azure Cache for Redis](./migrate-cache-redis.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: |
4344
| [Azure Compute Gallery](/azure/virtual-machines/azure-compute-gallery#high-availability)| :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: ||
4445
| [Azure Container Apps](reliability-azure-container-apps.md#availability-zone-support) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
@@ -48,16 +49,19 @@ Some Azure services are *nonregional*, which means that you don't deploy the ser
4849
| [Azure Cosmos DB for PosgtreSQL](/azure/cosmos-db/postgresql/concepts-availability-zones) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
4950
| [Azure Data Explorer](/azure/data-explorer/create-cluster-database-portal) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
5051
| [Azure Data Factory](./reliability-data-factory.md#availability-zone-support) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
52+
| [Azure Data Lake Storage Gen2](./reliability-storage-blob.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
5153
| [Azure Database for MySQL – Flexible Server](/azure/mysql/flexible-server/concepts-high-availability) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
5254
| [Azure Database for PostgreSQL – Flexible Server](./reliability-postgresql-flexible-server.md#availability-zone-support) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
5355
| [Azure Dedicated Host](/azure/virtual-machines/dedicated-hosts#high-availability-considerations) | | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false":::|
56+
| Azure Disk Storage | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: |
5457
| [Azure DNS: Azure DNS Private Zones](../dns/private-dns-getstarted-portal.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: ||
5558
| [Azure DNS: Azure DNS Private Resolver](../dns/dns-private-resolver-get-started-portal.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: ||
5659
| [Azure DDoS Protection](./reliability-ddos.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
5760
| [Azure Disk Encryption](/azure/virtual-machines/disks-redundancy) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
5861
| [Azure Event Grid](../event-grid/overview.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
5962
| [Azure Event Hubs](./reliability-event-hubs.md#availability-zone-support) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
6063
| [Azure ExpressRoute](../expressroute/designing-for-high-availability-with-expressroute.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
64+
| Azure Files | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
6165
| [Azure Firewall](../firewall/deploy-availability-zone-powershell.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: |
6266
| [Azure Firewall Manager](../firewall-manager/quick-firewall-policy.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
6367
| [Azure Functions](./reliability-functions.md#availability-zone-support) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
@@ -90,14 +94,8 @@ Some Azure services are *nonregional*, which means that you don't deploy the ser
9094
| [Azure SQL Database](/azure/azure-sql/database/enable-zone-redundancy?view=azuresql-db&preserve-view=true&toc=/azure/reliability/toc.json&bc=/azure/reliability/breadcrumb/toc.json) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
9195
| [Azure SQL Managed Instance](/azure/azure-sql/database/business-continuity-high-availability-disaster-recover-hadr-overview?view=azuresql&preserve-view=true) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
9296
| [Azure Spring Apps](reliability-spring-apps.md#availability-zone-support) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
93-
| [Azure Storage account](migrate-storage.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
94-
| [Azure Storage: Azure Data Lake Storage](migrate-storage.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
95-
| [Azure Storage: Disk Storage](migrate-storage.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
96-
| [Azure Storage: Blob Storage](migrate-storage.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
97-
| [Azure Storage: Files Storage](migrate-storage.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
98-
| [Azure Storage: Managed Disks](/azure/virtual-machines/disks-redundancy) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: |
99-
| [Azure Storage: Ultra Disk](/azure/virtual-machines/disks-enable-ultra-ssd)| | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: |
10097
| [Azure Stream Analytics](../stream-analytics/stream-analytics-introduction.md) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |
98+
| [Azure Ultra Disks](/azure/virtual-machines/disks-enable-ultra-ssd)| | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: |
10199
| [Azure Virtual Machine Scale Sets](./reliability-virtual-machine-scale-sets.md#availability-zone-support) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: |
102100
| [Azure Virtual Machines](./reliability-virtual-machines.md#availability-zone-support) | | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: |
103101
| [Azure Virtual Network](./reliability-virtual-network.md#availability-zone-support) | :::image type="content" source="media/icon-checkmark.svg" alt-text="Yes" border="false"::: | |

articles/reliability/includes/storage/reliability-storage-architecture-include.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
ms.custom: include file
1010
---
1111

12-
[Locally redundant storage (LRS)](/azure/storage/common/storage-redundancy?#locally-redundant-storage), the lowest-cost redundancy option, automatically stores and replicates three copies of your data within a single datacenter. Although LRS protects your data against server rack and drive failures, it doesn't account for disasters such as fire or flooding within a datacenter. In the face of such disasters, all replicas of a storage account configured to use LRS might be lost or unrecoverable.
12+
[Locally redundant storage (LRS)](/azure/storage/common/storage-redundancy?#locally-redundant-storage) replicates the data within your storage accounts to one or more Azure availability zones located in the primary region of your choice. Although there's no option to choose your preferred availability zone, Azure may move or expand LRS accounts across zones to improve load balancing. There's no guarantee that your data will be spread across zones. LRS provides at least 99.999999999 (11 nines) durability of objects over a given year. For more information about availability zones, see [What are Availability Zones?](../../availability-zones-overview.md).
1313

1414
:::image type="content" source="../../media/reliability-storage/locally-redundant-storage.png" alt-text="Diagram showing how data is replicated in availability zones with LRS." lightbox="../../media/reliability-storage/locally-redundant-storage.png" border="false":::
1515

articles/reliability/includes/storage/reliability-storage-availability-zone-down-experience-include.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@
99
ms.custom: include file
1010
---
1111

12-
- **Detection and response:** Microsoft automatically detects zone failures and initiates failover processes. No customer action is required for zone-redundant storage accounts.
12+
- **Detection and response:** Microsoft automatically detects zone failures and initiates recovery processes. No customer action is required for zone-redundant storage accounts.
1313

14-
- **Active requests:** In-flight requests might be dropped during the failover and should be retried. Applications should [implement retry logic](#transient-faults) to handle these temporary interruptions.
14+
If a zone becomes unavailable, Azure undertakes networking updates such as Domain Name System (DNS) repointing.
15+
16+
- **Notification:** Zone failure events can be monitored through Azure Service Health and Resource Health. Set up alerts on these services to receive notifications of zone-level issues.
17+
18+
- **Active requests:** In-flight requests might be dropped during the recovery process and should be retried. Applications should [implement retry logic](#transient-faults) to handle these temporary interruptions.
1519

1620
- **Expected data loss:** No data loss occurs during zone failures because data is synchronously replicated across multiple zones before write operations complete.
1721

18-
- **Expected downtime:** A small amount of downtime - typically, a few seconds - may occur during automatic failover as traffic is redirected to healthy zones.
22+
- **Expected downtime:** A small amount of downtime - typically, a few seconds - may occur during automatic recovery as traffic is redirected to healthy zones. When designing applications for ZRS, follow practices for [transient fault handling](#transient-faults), including implementing retry policies with exponential back-off.

articles/reliability/includes/storage/reliability-storage-availability-zone-failback-include.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
ms.custom: include file
1010
---
1111

12-
When the failed availability zone recovers, Azure Storage automatically restores normal operations across all of the availability zones. During failback, the service automatically ensures data consistency by synchronizing any operations that occurred during the outage period.
12+
When the failed availability zone recovers, Azure Storage automatically restores normal operations across all of the availability zones. The service automatically ensures data consistency by synchronizing any operations that occurred during the outage period.

articles/reliability/includes/storage/reliability-storage-availability-zone-normal-operations-include.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111

1212
- **Traffic routing between zones**: Storage with ZRS automatically distributes requests across storage clusters in multiple availability zones. Traffic distribution is transparent to applications and requires no client-side configuration.
1313

14-
- **Data replication between zones**: All write operations to ZRS are replicated synchronously across all availability zones within the region. When you upload or modify data, the operation isn't considered complete until the data has been successfully replicated across all of the availability zones. This synchronous replication ensures strong consistency and zero data loss during zone failures. However, it may result in slightly higher write latency compared to locally redundant storage.
14+
- **Data replication between zones**: All write operations to ZRS are replicated synchronously across all availability zones within the region. When you upload or modify data, the operation isn't considered complete until the data has been successfully replicated across all of the availability zones. This synchronous replication ensures strong consistency and zero data loss during zone failures.

articles/reliability/includes/storage/reliability-storage-availability-zone-testing-include.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
ms.custom: include file
1010
---
1111

12-
Azure Storage manages replication, traffic routing, failover, and failback for zone-redundant storage. Because this feature is fully managed, you don't need to initiate or validate availability zone failure processes.
12+
When you use ZRS, Azure Storage manages replication, traffic routing, and zone-down responses automatically. Because this feature is fully managed, you don't need to initiate or validate availability zone failure processes.

articles/reliability/includes/storage/reliability-storage-multi-region-considerations-latency-include.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@
1010
---
1111

1212
- **Asynchronous replication latency**: Data replication to the secondary region is asynchronous, which means there's a lag between when data is written to the primary region and when it becomes available in the secondary region. This lag can result in potential data loss (measured as Recovery Point Objective or RPO) if a primary region failure occurs before recent data is replicated. The replication lag is expected to be less than 15 minutes, but this is an estimate and not guaranteed.
13+
14+
You can check the [Last Sync time](/azure/storage/common/last-sync-time-get) to understand how much data could be lost if your storage account has an unplanned failover.

0 commit comments

Comments
 (0)