Skip to content

Commit 1c69e4e

Browse files
authored
Merge pull request #50759 from cdpark/ha-application-storage
Module review - May - RA-GRS storage
2 parents 99c9f24 + b0a8ac8 commit 1c69e4e

12 files changed

+178
-175
lines changed
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.ha-application-storage-with-grs.1-introduction
3-
title: Introduction
4-
metadata:
5-
title: Introduction
6-
description: Learn how to make your application storage highly available by ensuring that you can fail over resources if there's an Azure region failure.
7-
ms.date: 05/17/2023
8-
author: rmcmurray
9-
ms.author: robmcm
10-
ms.topic: unit
11-
durationInMinutes: 2
12-
content: |
13-
[!include[](includes/1-introduction.md)]
14-
1+
### YamlMime:ModuleUnit
2+
uid: learn.ha-application-storage-with-grs.1-introduction
3+
title: Introduction
4+
metadata:
5+
title: Introduction
6+
description: Learn how to make your application storage highly available by ensuring that you can fail over resources if there's an Azure region failure.
7+
ms.date: 06/02/2025
8+
author: rmcmurray
9+
ms.author: robmcm
10+
ms.topic: unit
11+
durationInMinutes: 2
12+
content: |
13+
[!include[](includes/1-introduction.md)]
14+
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.ha-application-storage-with-grs.2-storage-account-replication-features
3-
metadata:
4-
title: Understand the role of an Azure storage account and its replication features
5-
description: Learn how an Azure storage account is configured to allow for the replication and high availability of data.
6-
ms.date: 05/17/2023
7-
author: rmcmurray
8-
ms.author: robmcm
9-
ms.topic: unit
10-
title: Understand the role of an Azure storage account and its replication features
11-
durationInMinutes: 6
12-
content: |
13-
[!include[](includes/2-storage-account-replication-features.md)]
14-
1+
### YamlMime:ModuleUnit
2+
uid: learn.ha-application-storage-with-grs.2-storage-account-replication-features
3+
metadata:
4+
title: Azure Storage Account and its Replication Features
5+
description: Learn how an Azure storage account is configured to allow for the replication and high availability of data.
6+
ms.date: 06/02/2025
7+
author: rmcmurray
8+
ms.author: robmcm
9+
ms.topic: unit
10+
title: Understand the role of an Azure storage account and its replication features
11+
durationInMinutes: 6
12+
content: |
13+
[!include[](includes/2-storage-account-replication-features.md)]
14+
Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.ha-application-storage-with-grs.3-exercise-create-storage-account
3-
metadata:
4-
title: Exercise - Create an Azure storage account
5-
description: In this exercise, you learn how to prepare the foundations for a highly available application by creating an Azure storage account.
6-
ms.date: 05/17/2023
7-
author: rmcmurray
8-
ms.author: robmcm
9-
ms.topic: unit
10-
title: Exercise - Create an Azure storage account
11-
interactive: bash
12-
azureSandbox: true
13-
durationInMinutes: 5
14-
content: |
15-
[!include[](includes/3-exercise-create-storage-account.md)]
16-
1+
### YamlMime:ModuleUnit
2+
uid: learn.ha-application-storage-with-grs.3-exercise-create-storage-account
3+
metadata:
4+
title: Exercise - Create an Azure Storage Account
5+
description: In this exercise, you learn how to prepare the foundations for a highly available application by creating an Azure storage account.
6+
ms.date: 06/02/2025
7+
author: rmcmurray
8+
ms.author: robmcm
9+
ms.topic: unit
10+
title: Exercise - Create an Azure storage account
11+
interactive: bash
12+
azureSandbox: true
13+
durationInMinutes: 5
14+
content: |
15+
[!include[](includes/3-exercise-create-storage-account.md)]
16+
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.ha-application-storage-with-grs.4-design-applications-ha-dr
3-
metadata:
4-
title: Design HA applications to handle disaster recovery
5-
description: In this unit, you learn how to design HA applications to handle disaster recovery.
6-
ms.date: 05/17/2023
7-
author: rmcmurray
8-
ms.author: robmcm
9-
ms.topic: unit
10-
title: Design HA applications to handle disaster recovery
11-
durationInMinutes: 8
12-
content: |
13-
[!include[](includes/4-design-applications-ha-dr.md)]
14-
1+
### YamlMime:ModuleUnit
2+
uid: learn.ha-application-storage-with-grs.4-design-applications-ha-dr
3+
metadata:
4+
title: Design HA Applications to Handle Disaster Recovery
5+
description: In this unit, you learn how to design HA applications to handle disaster recovery.
6+
ms.date: 06/02/2025
7+
author: rmcmurray
8+
ms.author: robmcm
9+
ms.topic: unit
10+
title: Design HA applications to handle disaster recovery
11+
durationInMinutes: 8
12+
content: |
13+
[!include[](includes/4-design-applications-ha-dr.md)]
14+
Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.ha-application-storage-with-grs.5-exercise-deploy-ha-application
3-
metadata:
4-
title: Exercise - Deploy a highly available application
5-
description: In this unit, you learn how to deploy and test a highly available application.
6-
ms.date: 10/21/2024
7-
author: rmcmurray
8-
ms.author: robmcm
9-
ms.topic: unit
10-
title: Exercise - Deploy a highly available application
11-
azureSandbox: true
12-
durationInMinutes: 12
13-
content: |
14-
[!include[](includes/5-exercise-deploy-ha-application.md)]
15-
1+
### YamlMime:ModuleUnit
2+
uid: learn.ha-application-storage-with-grs.5-exercise-deploy-ha-application
3+
metadata:
4+
title: Exercise - Deploy a Highly Available Application
5+
description: In this unit, you learn how to deploy and test a highly available application.
6+
ms.date: 06/02/2025
7+
author: rmcmurray
8+
ms.author: robmcm
9+
ms.topic: unit
10+
title: Exercise - Deploy a highly available application
11+
interactive: bash
12+
azureSandbox: true
13+
durationInMinutes: 12
14+
content: |
15+
[!include[](includes/5-exercise-deploy-ha-application.md)]
16+
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.ha-application-storage-with-grs.6-summary
3-
metadata:
4-
title: Summary
5-
description: Summary
6-
ms.date: 05/17/2023
7-
author: rmcmurray
8-
ms.author: robmcm
9-
ms.topic: unit
10-
title: Summary
11-
durationInMinutes: 1
12-
content: |
13-
[!include[](includes/6-summary.md)]
14-
1+
### YamlMime:ModuleUnit
2+
uid: learn.ha-application-storage-with-grs.6-summary
3+
metadata:
4+
title: Summary
5+
description: Summary
6+
ms.date: 06/02/2025
7+
author: rmcmurray
8+
ms.author: robmcm
9+
ms.topic: unit
10+
title: Summary
11+
durationInMinutes: 1
12+
content: |
13+
[!include[](includes/6-summary.md)]
14+

learn-pr/azure/ha-application-storage-with-grs/includes/2-storage-account-replication-features.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Let's see how an Azure storage account is configured to allow for replication an
66

77
Azure storage accounts are used to house data objects such as files, blobs, tables, and disks for virtual machines. The data that you store in a storage account can be accessed from any location globally via HTTP or HTTPS and is highly available and secure.
88

9-
![The storage types that are accessible as read-access geo-redundant storage.](../media/2-ra-grs-storage-account.png)
9+
:::image type="content" source="../media/2-ra-grs-storage-account.png" alt-text="Diagram showing the storage types that are accessible as read-access geo-redundant storage.":::
1010

1111
## Data redundancy
1212

@@ -23,7 +23,7 @@ Each replication option provides a different level of redundancy and durability.
2323

2424
### What is locally redundant storage (LRS)?
2525

26-
![Diagram showing an overview of locally redundant storage.](../media/2-locally-redundant-storage.png)
26+
:::image type="content" source="../media/2-locally-redundant-storage.png" alt-text="Diagram showing an overview of locally redundant storage.":::
2727

2828
Locally redundant storage replicates data and stores three copies across fault domains, or racks of hardware, within a single datacenter facility in one region. Data is replicated so that if there's a hardware fault or maintenance work, your data is still available and accessible.
2929

@@ -33,29 +33,29 @@ LRS is the least expensive replication option available. It also offers the leas
3333

3434
### What is zone-redundant storage (ZRS)?
3535

36-
![Diagram showing an overview of zone-redundant storage.](../media/2-zone-redundant-storage.png)
36+
:::image type="content" source="../media/2-zone-redundant-storage.png" alt-text="Diagram showing an overview of zone-redundant storage.":::
3737

3838
Zone-redundant storage replicates your data across three storage clusters in a region. Each cluster is physically separated from the other two, which means that each cluster is supplied by separate utilities, such as power or networking.
3939

4040
If there's an outage in a datacenter, you can still access your data from another availability zone in that region. Data is normally replicated to two or three availability zones, depending on the region.
4141

42-
An availability zone (AZ) is a physical location that's made up of one or more datacenters in a region. There are typically two or three AZs per region, where each AZ is independent of the other AZs in the region.
42+
An availability zone is a physical location that's made up of one or more datacenters in a region. There are typically two or three availability zones per region, where each availability zone is independent of the other availability zones in the region.
4343

44-
ZRS offers 99.999999999999 percent durability of data. However, ZRS might not protect you from a regional outage, because all AZs reside in the same region. To migrate data to ZRS from either LRS or GRS requires some planning and manual migration, and it requires a tool such as AZCopy.
44+
ZRS offers 99.999999999999 percent durability of data. However, ZRS might not protect you from a regional outage, because all availability zones reside in the same region. To migrate data to ZRS from either LRS or GRS requires some planning and manual migration, and it requires a tool such as AZCopy.
4545

4646
### What is geographically redundant storage (GRS)?
4747

48-
![Diagram showing an overview of geo-redundant storage.](../media/2-geo-redundant-storage.png)
48+
:::image type="content" source="../media/2-geo-redundant-storage.png" alt-text="Diagram showing an overview of geo-redundant storage.":::
4949

5050
Geographically redundant (or geo-redundant) storage provides multiple levels of replication. Your data is replicated three times within the primary region, then that set is replicated to a secondary region.
5151

5252
GRS provides the highest level of durability, because you finish with six copies of your data. Such durability means that even if there's a datacenter failure or regional issues in the primary region, your data is always available. If the primary region fails, Azure storage is still available in the secondary region. The secondary region is automatically paired to the primary region based on the primary region you selected. You can't change this pairing configuration.
5353

54-
Keep in mind that your data in the secondary region is inaccessible until the primary region has failed across to the secondary region. At this point, the secondary region becomes the active region (primary), and your data becomes accessible.
54+
Keep in mind that your data in the secondary region is inaccessible until the primary region fails across to the secondary region. At this point, the secondary region becomes the active region (primary), and your data becomes accessible.
5555

5656
### What is read-access geo-redundant storage (RA-GRS)?
5757

58-
![Diagram showing an overview of read-access geo-redundant storage.](../media/2-ra-grs-redundant-storage.png)
58+
:::image type="content" source="../media/2-ra-grs-redundant-storage.png" alt-text="Diagram showing an overview of read-access geo-redundant storage.":::
5959

6060
Geo-redundant storage provides 99.9999999999999999 percent durability, because it replicates data and objects to a secondary region. When failover starts, DNS entries that point to the primary region are updated to point to the secondary region. Microsoft currently controls the DNS failover process.
6161

@@ -85,9 +85,9 @@ We can summarize the most appropriate use of each type of redundant storage with
8585
|ZRS|3|Needs redundancy in multiple physical locations, but because of compliance, data isn't allowed to leave a region.|
8686
|GRS|6|App has access to the data, even if an entire region has an outage.|
8787
|RA-GRS|6|App reads from multiple geographical locations, so you can serve users from a location that's closer to them.|
88-
|GZRS|6| App can access data, even if the primary region has failed, and your secondary region has a datacenter that's experiencing an outage, but you don't want to read from the secondary region unless the primary region is down.|
88+
|GZRS|6| App can access data, even if the primary region fails, and your secondary region has a datacenter that's experiencing an outage, but you don't want to read from the secondary region unless the primary region is down.|
8989
|RA-GZRS|6| Regularly read data from your secondary region, perhaps to serve users from a location closer to them, even if a datacenter is up in your primary region.|
9090

9191
## Change replication strategy
9292

93-
After you've created an Azure storage account, you can change the replication strategy. You can switch the replication status of a storage account from LRS to GRS, or LRS to RA-GRS, and back again. To change the replication strategy to GZRS, the process you use depends on the current replication strategy for your account.
93+
After you create an Azure storage account, you can change the replication strategy. You can switch the replication status of a storage account from LRS to GRS, or LRS to RA-GRS, and back again. To change the replication strategy to GZRS, the process you use depends on the current replication strategy for your account.

learn-pr/azure/ha-application-storage-with-grs/includes/3-exercise-create-storage-account.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,17 @@ As the solution architect for your organization's healthcare system, you want to
22

33
In this exercise, you create an Azure storage account and configure the account for RA-GRS. By default, the storage account is set to LRS when you create it. Because you want the application to be highly available, you change the mode to RA-GRS. The storage account is used as a disaster-recovery feature to ensure that the application is always running.
44

5-
First, create an Azure storage account to store the application data.
6-
7-
![Diagram of the storage account configuration.](../media/3-storage-account-overview.png)
8-
95
## Create an Azure storage account to host healthcare application
106

11-
Create a storage account. The storage account hosts the healthcare application.
7+
First, create an Azure storage account to store the application data. The storage account hosts the healthcare application.
8+
9+
:::image type="content" source="../media/3-storage-account-overview.png" alt-text="Diagram of the storage account configuration.":::
1210

1311
1. In Cloud Shell, run the following commands:
1412

1513
```bash
1614
STORAGEACCT=$(az storage account create \
17-
--resource-group <rgn>[Sandbox resource group]</rgn> \
15+
--resource-group "<rgn>[Sandbox resource group]</rgn>" \
1816
--name healthcareapp$RANDOM \
1917
--sku Standard_RAGRS \
2018
--output tsv \
@@ -23,7 +21,10 @@ Create a storage account. The storage account hosts the healthcare application.
2321
echo $STORAGEACCT
2422
```
2523

26-
Make a note of the value of the **\$STORAGEACCT** variable if you need to re-create it in a later exercise.
24+
> [!TIP]
25+
> The *Sandbox resource group* field autopopulates after you activate the sandbox.
26+
27+
Make a note of the value of the `$STORAGEACCT` variable if you need to re-create it in a later exercise.
2728

2829
This step sets the replication policy of the storage account to RA-GRS, which enables the application to fail over to the secondary region if there's an outage.
2930
@@ -44,12 +45,12 @@ Create a storage account. The storage account hosts the healthcare application.
4445
```azurecli
4546
az storage account show-connection-string \
4647
--name $STORAGEACCT \
47-
--resource-group <rgn>[Sandbox resource group]</rgn>
48+
--resource-group "<rgn>[Sandbox resource group]</rgn>"
4849
```
4950
5051
1. Copy the output connection string and save it for reference later in this module.
5152
52-
## Fail over Azure storage account
53+
## View the storage account replication status
5354
5455
Use Cloud Shell to view the replication status of your storage account. To view the status of the primary and secondary locations, run the following command:
5556

0 commit comments

Comments
 (0)