Skip to content

Commit 9beebc0

Browse files
authored
Merge pull request #54110 from staleycyn/main
Content drift fixes for the app architecture module
2 parents 5f4938e + 290bc84 commit 9beebc0

8 files changed

Lines changed: 48 additions & 29 deletions

learn-pr/wwl-azure/design-application-architecture/10-knowledge-check.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ quiz:
3838
- content: "Azure Bicep"
3939
isCorrect: false
4040
explanation: "Incorrect. Azure Bicep is a template language that's used to declaratively deploy Azure resources."
41-
- content: "Azure Automation"
41+
- content: "Azure Update Manager"
4242
isCorrect: true
43-
explanation: "Correct. Azure Automation gives you complete control of update management."
43+
explanation: "Correct. Azure Update Manager provides scheduled update deployments and maintenance windows for operating system updates across hybrid environments."
4444
- content: "How should the events be handled in the game?"
4545
choices:
4646
- content: "Azure Event Hubs"

learn-pr/wwl-azure/design-application-architecture/includes/4-design-event-hub-messaging-solution.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@ As you plan for how Azure Event Hubs can be a part of your messaging solution, c
4848

4949
- **Consider language and framework integration**. Azure Event Hubs supports sending and receiving events in many different languages. The robust language and framework support makes it easy to integrate Event Hubs with other Azure and non-Azure services.
5050

51-
- **Consider pricing tier and throughput units**. Choose the pricing tier that offers the features and capabilities required by your application. Control how your Azure Event Hubs implementation scales by purchasing the necessary throughput or processing units. A single throughput unit equates to:
52-
- **Ingress**: Up to 1 MB per second or 1,000 events per second (whichever comes first)
53-
- **Egress**: Up to 2 MB per second or 4,096 events per second
51+
- **Consider pricing tier and throughput units**. Choose the pricing tier that offers the features and capabilities required by your application. Control how your Azure Event Hubs implementation scales by purchasing the necessary throughput or processing units:
52+
- **Standard tier**: Uses **Throughput Units (TUs)** - 1-MB/s ingress or 1,000 events/s per TU; 2-MB/s egress or 4,096 events/s per TU
53+
- **Premium tier**: Uses **Processing Units (PUs)** - 5-10 MB/s ingress per PU with resource isolation, 90-day event retention, dynamic partition scale-out, customer-managed keys, geo-replication
5454

5555
- **Consider pull model benefits**. Investigate how the pull model implemented by Event Hubs can benefit your application communication. Event Hubs holds a message in its cache and allows it to be read. When a message is read, it isn't deleted. The message remains for other consumers.
5656

57-
- **Consider message failures**. Remember Azure Event Hubs doesn't handle messages that aren't processed as expected. Suppose a message consumer malfunctions because of data format. Event Hubs won't detect this issue. The message remains until its `time-to-live` setting expires.
57+
- **Consider message failures**. Remember Azure Event Hubs doesn't handle messages that aren't processed as expected. Suppose a message consumer malfunctions because of data format. Event Hubs doesn't detect this issue. The message remains until its `time-to-live` setting expires.
5858

5959
- **Consider data stream access**. Event Hubs adds received events to the end of its data stream, and the events are ordered according to the time they're received. Event consumers can seek along the data stream by using time offsets.
6060

learn-pr/wwl-azure/design-application-architecture/includes/5-design-event-driven-solution.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Let's reconsider our design for the Tailwind Traders product demo application, a
66

77
### Things to know about Azure Event Grid
88

9-
[Azure Event Grid](/azure/event-grid/overview) is a fully managed event routing service that runs on [Azure Service Fabric](/azure/service-fabric/service-fabric-overview). Event Grid exists to make it easier to build event-based and serverless applications on Azure.
9+
[Azure Event Grid](/azure/event-grid/overview) is a fully managed event routing service. Event Grid exists to make it easier to build event-based and serverless applications on Azure.
1010

1111
> [!VIDEO https://learn-video.azurefd.net/vod/player?id=1c380564-a19d-49a4-9902-8509a0bcfc30]
1212
@@ -50,6 +50,10 @@ Azure Event Grid can be an ideal solution for an event-driven application archit
5050

5151
- **Consider distinct roles for services**. Investigate using Azure services side by side to fulfill distinct roles. An e-commerce site can use Azure Service Bus to process an order, Azure Event Hubs to capture site telemetry, and Azure Event Grid to respond to events like an item being shipped.
5252

53+
- **Consider push vs. pull delivery**. Choose the appropriate delivery model based on your application needs:
54+
- **Push delivery (classic model)**: Event Grid routes events to registered handlers (webhooks, Azure Functions, etc.). Use when avoiding constant polling and the handler has a public endpoint.
55+
- **Pull delivery (namespace topics)**: Subscriber applications connect to Event Grid to read events at their own pace using queue-like semantics. Use when the consumer controls timing, needs private link connectivity, or can't expose a public endpoint.
56+
5357
- **Consider linking services**. Link Azure services together to form an event and data pipeline stream. In this scenario, Azure Event Grid responds to events in other services. The following illustration demonstrates how several Azure services can be linked together as an event and data pipeline to stream data.
5458

5559
:::image type="content" source="../media/services-integration.png" alt-text="Illustration that shows how Azure Event Hubs, Event Grid, and Functions link together to respond to events and stream data." border="false":::

learn-pr/wwl-azure/design-application-architecture/includes/6-design-caching-solution.md

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,37 +7,44 @@ Caching is most effective when a client instance repeatedly reads the same data,
77

88
Suppose Tailwind Traders is adding a new feature to the product demo application to increase customer traffic to their retail website. The event feature adds a banner to the top of the mobile app to announce special offers and limited product discounts. New offers are posted on the hour, and the remaining product availability for each offer is updated after every order is processed. The first customer to respond to a new offer receives a double discount! Customers are encouraged to check their mobile app frequently for updates to the offers and product availability. To implement this new feature, you need to design a caching solution that can support in-memory fast read and writes.
99

10-
### Things to know about Azure Cache for Redis
10+
### Things to know about Azure Managed Redis
1111

12-
[Azure Cache for Redis](/azure/azure-cache-for-redis/cache-overview) provides an in-memory data store based on the Redis software. Redis improves the performance and scalability of an application that uses back-end data stores heavily. It's able to process large volumes of application requests by keeping frequently accessed data in the server memory, which can be written to and read from quickly. Redis brings a critical low-latency and high-throughput data storage solution to modern applications.
12+
[Azure Managed Redis](/azure/redis/overview) provides an in-memory data store based on the Redis Enterprise stack. Redis improves the performance and scalability of an application that uses back-end data stores heavily. It's able to process large volumes of application requests by keeping frequently accessed data in the server memory, which can be written to and read from quickly. Redis brings a critical low-latency and high-throughput data storage solution to modern applications.
1313

14-
Let's review the characteristics of the service:
14+
> [!IMPORTANT]
15+
> Azure Cache for Redis is being retired. New instances are blocked for new customers as of April 1, 2026, and the service will be fully retired October 1, 2028. Azure Managed Redis is the current recommended caching service.
1516
16-
- Azure Cache for Redis offers two implementation options for developers:
17-
- The Redis open source (OSS Redis)
18-
- A commercial product from Redis Labs (Redis Enterprise) as a managed service
17+
Let's review the characteristics of Azure Managed Redis:
1918

20-
- Azure Cache for Redis provides secure and dedicated Redis server instances and full Redis API compatibility.
19+
- Azure Managed Redis is a fully managed service that runs on the Redis Enterprise stack (GA since May 2025)
2120

22-
- You can use Azure Cache for Redis as a distributed data or content cache, session store, or message broker.
21+
- Azure Managed Redis offers four service tiers:
22+
- **Memory Optimized**: High memory-to-vCPU ratio for memory-intensive workloads
23+
- **Balanced**: Standard configuration for general workloads
24+
- **Compute Optimized**: High vCPU-to-memory ratio for maximum throughput
25+
- **Flash Optimized**: Cost-effective solution for large datasets using NVMe flash storage
2326

24-
- Deploy Azure Cache for Redis as a standalone or with other Azure database services, such as Azure SQL or Azure Cosmos DB.
27+
- Azure Managed Redis provides secure and dedicated Redis server instances and full Redis API compatibility.
2528

26-
#### How Azure Cache for Redis works
29+
- You can use Azure Managed Redis as a distributed data or content cache, session store, or message broker.
2730

28-
Azure Cache for Redis is hosted on Azure, and usable by any application within or outside of Azure. As indicated in the following graphic, Azure Cache for Redis can help improve performance in apps that interface with many database solutions, including Azure SQL Database, Azure Cosmos DB, and Azure Database for MySQL.
31+
- Deploy Azure Managed Redis as a standalone or with other Azure database services, such as Azure SQL or Azure Cosmos DB.
32+
33+
#### How Azure Managed Redis works
34+
35+
Azure Managed Redis is hosted on Azure, and usable by any application within or outside of Azure. As indicated in the following graphic, Azure Managed Redis can help improve performance in apps that interface with many database solutions, including Azure SQL Database, Azure Cosmos DB, and Azure Database for MySQL.
2936

3037
:::image type="content" source="../media/azure-cache-for-redis.png" alt-text="Illustration that shows a typical use case for Azure Cache for Redis." border="false":::
3138

3239

33-
### Things to consider when using Azure Cache for Redis
40+
### Things to consider when using Azure Managed Redis
3441

35-
Azure Cache for Redis improves application performance by supporting common application architecture patterns. As you review the following patterns, consider patterns that might be exhibited in the Tailwind Traders application architecture. Think about how Azure Cache for Redis can supply the pattern requirements.
42+
Azure Managed Redis improves application performance by supporting common application architecture patterns. As you review the following patterns, consider patterns that might be exhibited in the Tailwind Traders application architecture. Think about how Azure Managed Redis can supply the pattern requirements.
3643

3744
| Pattern | Scenario | Solution |
3845
| --- |--- | --- |
3946
| **Data cache** | _Databases are often too large to load directly into a cache_. | It's common to use the _cache-aside_ pattern to only load data into the cache as needed. When the system makes changes to the data, the system can also update the cache, which is then distributed to other clients. Additionally, the system can set an expiration on data, or use an eviction policy to trigger data updates into the cache. |
40-
| **Content cache** | _Many web pages are generated from templates that use static content such as headers, footers, banners. These static items shouldn't change often_. | Using an in-memory cache provides quick access to static content compared to back-end datastores. This pattern reduces processing time and server load and allows web servers to be more responsive. A content cache can allow you to reduce the number of servers needed to handle loads. Azure Cache for Redis provides the _Redis Output Cache Provider_ to support this pattern with ASP.NET. |
41-
| **Session store** | _A session store is commonly used with shopping carts and other user history data that a web application might associate with user cookies. Storing too much in a cookie can have a negative effect on performance as the cookie size grows and is passed and validated with every request_. | A typical solution uses the cookie as a key to query the data in a database. It's faster to use an in-memory cache like Azure Cache for Redis to associate information with a user than interacting with a full relational database. |
42-
| **Job and message queuing** | _Some application operations take significant time to complete, which might prevent other unrelated jobs or messages from starting_. | Applications often add tasks to a queue when the operations associated with the request take time to execute. Longer running operations are queued to be processed in sequence, often by another server. This method of deferring work is called _task queuing_. Azure Cache for Redis provides a distributed queue to enable this pattern in your application. |
43-
| **Distributed transactions** | _Applications sometimes require a series of commands against a back-end datastore to execute as a single atomic operation. All commands must succeed, or all commands must be rolled back to the initial state_. | Azure Cache for Redis supports executing a batch of commands as a single transaction. |
47+
| **Content cache** | _Many web pages are generated from templates that use static content such as headers, footers, banners. These static items shouldn't change often_. | Using an in-memory cache provides quick access to static content compared to back-end datastores. This pattern reduces processing time and server load and allows web servers to be more responsive. A content cache can allow you to reduce the number of servers needed to handle loads. Azure Managed Redis provides the _Redis Output Cache Provider_ to support this pattern with ASP.NET. |
48+
| **Session store** | _A session store is commonly used with shopping carts and other user history data that a web application might associate with user cookies. Storing too much in a cookie can have a negative effect on performance as the cookie size grows and is passed and validated with every request_. | A typical solution uses the cookie as a key to query the data in a database. It's faster to use an in-memory cache like Azure Managed Redis to associate information with a user than interacting with a full relational database. |
49+
| **Job and message queuing** | _Some application operations take significant time to complete, which might prevent other unrelated jobs or messages from starting_. | Applications often add tasks to a queue when the operations associated with the request take time to execute. Longer running operations are queued to be processed in sequence, often by another server. This method of deferring work is called _task queuing_. Azure Managed Redis provides a distributed queue to enable this pattern in your application. |
50+
| **Distributed transactions** | _Applications sometimes require a series of commands against a back-end datastore to execute as a single atomic operation. All commands must succeed, or all commands must be rolled back to the initial state_. | Azure Managed Redis supports executing a batch of commands as a single transaction. |

learn-pr/wwl-azure/design-application-architecture/includes/7-design-api-integration.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,15 @@ Review the following criteria, and think about what APIs and API management are
3939

4040
- **Consider standardizing disparate APIs**. Use an API management solution to standardize API specs, generate documentation, and create a consistent base URL for ease of use. Azure API Management can provide consistent analytics across multiple APIs and ensure compliance across all APIs.
4141

42+
- **Consider service tier selection**. Choose the appropriate API Management tier based on your deployment and operational needs:
43+
- **Classic tiers** (Developer, Basic, Standard, Premium): For existing workloads with established operational patterns.
44+
- **V2 tiers** (Basic v2, Standard v2, Premium v2): For new deployments requiring fast provisioning (minutes vs hours). Standard v2 and Premium v2 add network isolation for private backends.
45+
- **Consumption tier**: For serverless/microservice architectures with variable traffic patterns.
46+
- **Premium v2**: Adds Workspaces for enterprise teams needing federated API management with centralized governance.
47+
4248
- **Consider centralized API management**. Bring multiple APIs under a single administrative umbrella with Azure API Management and centralize all API operations. Without an API management service, each API is on its own in terms of administration, deployment, and developer access. A centralized model results in less duplicated effort and increases efficiency.
4349

44-
- **Consider enhanced API security**. Azure API Management was designed with API security in mind. Use the service to manage permissions and access, and protect your APIs from malicious usage. Azure API Management helps to achieve all corporate and government-related compliance.
50+
- **Consider enhanced API security**. Azure API Management was designed with API security in mind. Use the service to manage permissions and access, and protect your APIs from malicious usage. Azure API Management helps to achieve all corporate and government-related compliance.
4551

4652
> [!TIP]
4753
> There's a lot more to learn in the [Explore API Management](/training/modules/explore-api-management/) module.

learn-pr/wwl-azure/design-application-architecture/includes/8-design-automated-app-deployment-solution.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ There are many reasons to choose Bicep as the main tool set for your infrastruct
5151
| Service | Description |
5252
| --- | --- |
5353
| **Process automation** | Process automation enables you to automate frequent, time-consuming, and error-prone cloud management tasks. This service helps you focus on work that adds business value. By reducing errors and boosting efficiency, it also helps to lower your operational costs. The service allows you to author runbooks graphically in PowerShell or by using Python. |
54-
| **Configuration management** | Configuration management enables access to two features, Change Tracking and Inventory and Azure Automation State Configuration. The service supports change tracking across services, daemons, software, registry, and files in your environment. The change tracking helps you diagnose unwanted changes and raise alerts. |
55-
| **Update management** | The update management service includes the Update Management feature for Windows and Linux systems across hybrid environments. The feature allows you to create scheduled deployments that orchestrate the installation of updates within a defined maintenance window.
54+
| **Configuration management** | Configuration management enables access to two features, Change Tracking and Inventory and Azure Automation State Configuration. Azure Automation State Configuration is retiring September 30, 2027 (portal links removed March 31, 2025). **Azure Machine Configuration** (via Azure Policy) is the replacement for new implementations. The service supports change tracking across services, daemons, software, registry, and files in your environment using Azure Monitoring Agent (not Log Analytics). The change tracking helps you diagnose unwanted changes and raise alerts. |
55+
| **Update management** | Update management is now handled by the separate **Azure Update Manager** service (retired from Azure Automation August 31, 2024). Azure Update Manager provides scheduled deployments, maintenance windows, and patch orchestration for Windows and Linux across hybrid environments. |
5656

5757

5858
> [!TIP]

learn-pr/wwl-azure/design-application-architecture/includes/9-configuration-management-solution.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@ App Configuration offers many benefits for an application architecture. As you r
1212

1313
- Azure App Configuration is a fully managed service that can be set up in minutes, and supports native integration with popular frameworks.
1414

15-
- App Configuration offers flexible key representations and mappings, and point-in-time replay of settings.
15+
- App Configuration offers flexible key representations and mappings, and **configuration snapshots** - immutable point-in-time captures of all settings used for deployment rollback and audit.
1616

1717
- App Configuration has a dedicated UI for feature flag management, and supports resource tagging with labels.
1818

19+
- **Geo-replication** allows App Configuration stores to be replicated across Azure regions for reduced latency and increased availability in multi-region scenarios.
20+
1921
- You can compare two sets of configurations on custom-defined dimensions.
2022

2123
- App Configuration provides enhanced security through Microsoft Entra managed identities for Azure resources.

0 commit comments

Comments
 (0)