Skip to content

Commit 680a8eb

Browse files
committed
Freshness & technical review
1 parent 1f391e4 commit 680a8eb

22 files changed

Lines changed: 123 additions & 101 deletions

learn-pr/advocates/improve-reliability-scaling/1-introduction.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: "Introduction"
44
metadata:
55
title: "Introduction"
66
description: "Introduction"
7-
ms.date: 06/23/2023
7+
ms.date: 04/12/2026
88
author: dnblankedelman
99
ms.author: dnb
1010
ms.topic: unit

learn-pr/advocates/improve-reliability-scaling/2-definition.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: "What is scalability?"
44
metadata:
55
title: "What is scalability?"
66
description: "What is scalability?"
7-
ms.date: 06/23/2023
7+
ms.date: 04/12/2026
88
author: dnblankedelman
99
ms.author: dnb
1010
ms.topic: unit
@@ -24,7 +24,7 @@ quiz:
2424
explanation: "With scaling, especially when scaling out, there's often an increase in complexity."
2525
- content: 'more reliable'
2626
isCorrect: true
27-
explanation: 'Correct.'
27+
explanation: 'Correct. Scaling out adds redundancy, and autoscaling can automatically replace failed instances, both of which improve reliability.'
2828
- content: 'easier to troubleshoot'
2929
isCorrect: false
3030
explanation: 'Because (especially when scaling out) there are more moving parts, it may not be easier to troubleshoot.'

learn-pr/advocates/improve-reliability-scaling/3-growth.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: "Prepare for growth"
44
metadata:
55
title: "Prepare for growth"
66
description: "Prepare for growth"
7-
ms.date: 06/23/2023
7+
ms.date: 04/12/2026
88
author: dnblankedelman
99
ms.author: dnb
1010
ms.topic: unit
@@ -24,25 +24,25 @@ quiz:
2424
explanation: 'Correct. This description is the definition of organic growth.'
2525
- content: 'inorganic growth'
2626
isCorrect: false
27-
explanation: 'This description is the definition of organic growth.'
27+
explanation: 'Inorganic growth arises from external factors, such as a marketing event or acquisition, rather than a natural expansion of business activity.'
2828
- content: 'capacity planning'
2929
isCorrect: false
30-
explanation: 'This description is the definition of organic growth.'
30+
explanation: 'Capacity planning is the process of determining the resources needed to meet present and future demands, not the growth pattern itself.'
3131

3232
- content: 'With Cosmos DB, which of these metrics are incorporated into a request unit?'
3333
choices:
3434
- content: 'memory'
3535
isCorrect: false
36-
explanation: 'Request Units (RUs) are a mixture of Memory, CPU, and IOPS.'
36+
explanation: 'Request Units (RUs) are a blended measure of memory, CPU, and IOPS.'
3737
- content: 'CPU'
3838
isCorrect: false
39-
explanation: 'Request Units (RUs) are a mixture of Memory, CPU, and IOPS'
39+
explanation: 'Request Units (RUs) are a blended measure of memory, CPU, and IOPS.'
4040
- content: 'IOPS'
4141
isCorrect: false
42-
explanation: 'Request Units (RUs) are a mixture of Memory, CPU, and IOPS'
42+
explanation: 'Request Units (RUs) are a blended measure of memory, CPU, and IOPS.'
4343
- content: 'All of these metrics.'
4444
isCorrect: true
45-
explanation: 'Correct. Request Units (RUs) are a mixture of memory, CPU, and IOPS'
45+
explanation: 'Correct. Request Units (RUs) are a blended measure of memory, CPU, and IOPS.'
4646

4747
- content: 'Which of the following options is _not_ a business metric you should correlate your resource usage to when planning for capacity?'
4848
choices:

learn-pr/advocates/improve-reliability-scaling/4-considerations.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: "Capacity planning considerations"
44
metadata:
55
title: "Capacity planning considerations"
66
description: "Capacity planning considerations"
7-
ms.date: 06/23/2023
7+
ms.date: 04/12/2026
88
author: dnblankedelman
99
ms.author: dnb
1010
ms.topic: unit

learn-pr/advocates/improve-reliability-scaling/5-applications.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,11 @@ title: "Make applications scalable"
44
metadata:
55
title: "Make applications scalable"
66
description: "Make applications scalable"
7-
ms.date: 06/23/2023
7+
ms.date: 04/12/2026
88
author: dnblankedelman
99
ms.author: dnb
1010
ms.topic: unit
11-
ms.custom:
12-
- sfi-ropc-nochange
13-
- team=cloud_advocates
11+
ms.custom: team=cloud_advocates
1412
ms.contributors: dnb-04282021
1513
durationInMinutes: 8
1614
content: |
@@ -42,4 +40,16 @@ quiz:
4240
- content: 'SignalR'
4341
isCorrect: false
4442
explanation: 'SignalR is an open-source library that simplifies adding real-time web functionality to apps.'
43+
44+
- content: "If after scaling up or implementing read replicas, your database resources still don't meet the needs of your system, what is the next option?"
45+
choices:
46+
- content: 'in-memory caching'
47+
isCorrect: false
48+
explanation: "In-memory caching can improve performance, but it doesn't increase your database resources."
49+
- content: 'decoupling'
50+
isCorrect: false
51+
explanation: 'Decoupling is a change that can help with differing resource needs between different dependent services.'
52+
- content: 'sharding'
53+
isCorrect: true
54+
explanation: 'Correct. Sharding distributes data across multiple independent databases, enabling you to scale beyond the constraints of an individual database.'
4555

learn-pr/advocates/improve-reliability-scaling/6-global.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: "Go global"
44
metadata:
55
title: "Go global"
66
description: "Go global"
7-
ms.date: 06/23/2023
7+
ms.date: 04/12/2026
88
author: dnblankedelman
99
ms.author: dnb
1010
ms.topic: unit
@@ -17,17 +17,17 @@ quiz:
1717
title: Check your knowledge
1818
questions:
1919

20-
- content: 'If after scaling up or implementing read replicas, your database resources still don’t meet the needs of your system, what is the next option?'
20+
- content: 'Which Azure service acts as a global HTTP-based load balancer that can also provide caching and Web Application Firewall capabilities?'
2121
choices:
22-
- content: 'in-memory caching'
22+
- content: 'Azure Traffic Manager'
2323
isCorrect: false
24-
explanation: "In-memory caching can improve performance, but it doesn't increase your database resources."
25-
- content: 'decoupling'
26-
isCorrect: false
27-
explanation: 'Decoupling is a change that can help with differing resource needs between different dependent services.'
28-
- content: 'sharding'
24+
explanation: 'Traffic Manager is a DNS-based load balancer. Because it uses DNS routing, it cannot proxy connections or provide caching or WAF capabilities.'
25+
- content: 'Azure Front Door'
2926
isCorrect: true
30-
explanation: 'Correct. This technique is a way to scale out our database resources.'
27+
explanation: 'Correct. Azure Front Door proxies connections, enabling advanced features such as caching and Web Application Firewall.'
28+
- content: 'Azure Load Balancer'
29+
isCorrect: false
30+
explanation: 'Azure Load Balancer operates at Layer 4 within a region and does not provide global HTTP-based load balancing, caching, or WAF.'
3131

3232
- content: 'What consistency model offers a linearizability guarantee?'
3333
choices:

learn-pr/advocates/improve-reliability-scaling/7-summary.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: "Summary"
44
metadata:
55
title: "Summary"
66
description: "Summary"
7-
ms.date: 06/23/2023
7+
ms.date: 04/12/2026
88
author: dnblankedelman
99
ms.author: dnb
1010
ms.topic: unit
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
The Dickerson hierarchy of reliability has served as the roadmap for this learning path. Over the course of the previous five modules, we have come up through the levels from the foundational step of monitoring to incident response, post-incident review, and deployment.
2-
3-
In this final module, you complete your journey at the capacity and scale level. You learn how to handle the threat to reliability that comes with growth, ensuring that your solutions can scale.
1+
In this module you will learn how to handle the threat to reliability that comes with growth, ensuring that your solutions can scale.
42

53
When you have completed this module, you'll:
64

@@ -12,5 +10,5 @@ When you have completed this module, you'll:
1210
- Be able to measure capacity in the cloud.
1311
- Use Azure tools to catch issues with service limits and quotas before they emerge.
1412
- Understand important steps to take before beginning work on scaling.
15-
- List techniques for making an application more scalable. Including, decoupling, queues, in-memory caching, and database sharding.
13+
- List techniques for making an application more scalable, including decoupling, queues, in-memory caching, and database sharding.
1614
- Learn about the Azure tools that make it possible to take your application or service global.

learn-pr/advocates/improve-reliability-scaling/includes/2-definition.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ In this module, we're going to use an example architecture from a fictional hard
4646

4747
:::image type="content" source="../media/application-diagram.png" alt-text="Full architecture diagram of applications with frontend, backend and other components.":::
4848

49-
This diagram is fairly complex at first glance, so let's walk through it. The website has a front end. that's what you talk to if you go to tailwindtraders.com.
49+
This diagram is fairly complex at first glance, so let's walk through it. The website has a front end. That's what you talk to if you go to tailwindtraders.com.
5050

5151
:::image type="content" source="../media/application-diagram-frontend.png" alt-text="Full architecture diagram of application with frontend component highlighted.":::
5252

@@ -60,17 +60,17 @@ Now that you have seen the whole architecture, let's take a moment to examine th
6060

6161
:::image type="content" source="../media/application-diagram-failure-points.png" alt-text="Full architecture diagram of application with backend components and SQL DB highlighted.":::
6262

63-
All of these services are a single point of failure - they’re not built for resiliency, or for scale. If one of them gets overloaded, it’s likely to crash, and there's no easy way to resolve that in the moment.
63+
Each of these services is a single point of failure - they’re not built for resiliency, or for scale. If one of them gets overloaded, it’s likely to crash, and there's no easy way to resolve that in the moment.
6464

65-
Later in this module, we look at other ways to design theses service to be more scalable and reliable.
65+
Later in this module, we look at other ways to design these services to be more scalable and reliable.
6666

6767
### Pre-provisioned capacity
6868

6969
Let's take a look at another issue that could prove troublesome. Here are the services/components that require us to pre-provision capacity:
7070

71-
:::image type="content" source="../media/application-diagram-provisioned.png" alt-text="Full architecture diagram of application with Azure AI services, Cosmos DB, and SQL DB highlighted":::
71+
:::image type="content" source="../media/application-diagram-provisioned.png" alt-text="Full architecture diagram of application with Azure AI services, Cosmos DB, and SQL DB highlighted.":::
7272

73-
For example, with Cosmos DB, we pre-provision the throughput. If we exceed those limits, we’re going to start returning error messages to our customers. With Azure AI services, we select the tier and that tier has a maximum number of requests per second. After we reach either of limits, clients are going to be throttled.
73+
For example, with Cosmos DB, we pre-provision the throughput. If we exceed those limits, we’re going to start returning error messages to our customers. With Azure AI services, we select the tier and that tier has a maximum number of requests per second. After we reach either of these limits, clients are going to be throttled.
7474

7575
Will a significant spike in traffic, like launching a new product, make us hit these limits? Right now, we don’t know. This matter is another that we review later in this module.
7676

0 commit comments

Comments
 (0)