You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/architecture/distributed-cloud-native-apps-containers/api-gateways/gateway-patterns.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -147,7 +147,7 @@ Another advantage of the Azure SignalR Service comes with implementing serverles
147
147
148
148
Azure SignalR Service closely integrates with other Azure services, such as Azure SQL Database, Service Bus, or Azure Redis Cache, opening up many possibilities for your cloud-native applications.
149
149
150
-
If you're using the .NET Aspire stack to build your cloud-native app, you have a built-in .NET Aspire component that helps you call the Azure SignalR Service. This component takes care of creating the connection and makes it easy for microservices to locate it. You can easily add connections from microservices and use them to send and receive information.
150
+
If you're using the .NET Aspire stack to build your cloud-native app, you have a built-in .NET Aspire integration that helps you call the Azure SignalR Service. This integration takes care of creating the connection and makes it easy for microservices to locate it. You can easily add connections from microservices and use them to send and receive information.
Copy file name to clipboardExpand all lines: docs/architecture/distributed-cloud-native-apps-containers/architecting-distributed-cloud-native-applications/different-distributed-architectures.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -65,8 +65,8 @@ This is where .NET Aspire comes in - it's a stack that helps you create manageab
65
65
66
66
- Makes it clear which microservices and other components are part of your app. You can see them in the App Host project code, and in the dashboard that appears whenever you debug your app.
67
67
- Implements observability for you using OpenTelemetry, so you can easily get data on the performance and behavior of all your microservices without requiring your development teams to build it.
68
-
- Makes it easy to use common backing services, such as databases and service buses, by providing out-of-the-box components for each one.
69
-
- Implements resiliency in these components to prevent and recover from failures, without requiring your development teams to build it.
68
+
- Makes it easy to use common backing services, such as databases and service buses, by providing out-of-the-box integrations for each one.
69
+
- Implements resiliency in these integrations to prevent and recover from failures, without requiring your development teams to build it.
70
70
71
71
If you've already started building and deploying microservices apps, then .NET Aspire may not help you, because it's opinionated about how they should be built and that might not match your design. However, if you're new to microservices and cloud-native design, or if you're starting an app from scratch, it can help to make the project easier and reduce development time.
Copy file name to clipboardExpand all lines: docs/architecture/distributed-cloud-native-apps-containers/chpt8-data-patterns/azure-caching.md
+5-5
Original file line number
Diff line number
Diff line change
@@ -56,11 +56,11 @@ Azure Redis Cache is available across a number of predefined configurations and
56
56
57
57
## Using Redis caches with .NET Aspire
58
58
59
-
.NET Aspire includes several built-in components that can help you cache data in Redis, whether that service is running in Azure, in a container, or elsewhere. The components come in three types:
59
+
.NET Aspire includes several built-in integrations that can help you cache data in Redis, whether that service is running in Azure, in a container, or elsewhere. The integrations come in three types:
60
60
61
-
-**Caching.** This component stores frequently accessed data in a single instance of Redis.
62
-
-**Distributed Caching.** Use this component if your Redis cache may consist of multiple servers.
63
-
-**Output Caching.** Use this component if you want to cache complete HTTP responses, such as a full web page or a response to an API call in HTML format.
61
+
-**Caching.** This integration stores frequently accessed data in a single instance of Redis.
62
+
-**Distributed Caching.** Use this integration if your Redis cache may consist of multiple servers.
63
+
-**Output Caching.** Use this integration if you want to cache complete HTTP responses, such as a full web page or a response to an API call in HTML format.
64
64
65
65
In the app host, you add the Redis hosting package. In this case, we'll add a distributed cache:
Copy file name to clipboardExpand all lines: docs/architecture/distributed-cloud-native-apps-containers/chpt8-data-patterns/relational-vs-nosql-data.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -193,7 +193,7 @@ To partition the container, items are divided into distinct subsets called logic
193
193
194
194
One of the most important ways .NET Aspire helps cloud-native developers is by managing backing services and making it easy for microservices to discover them and communicate with them. Database services like Cosmos DB, SQL Server, or MongoDB are typical examples of backing services that support your microservices by persisting data.
195
195
196
-
In .NET Aspire, there are built-in components, each of which supports a different backing service. The following database systems have .NET Aspire components, available out-of-the-box:
196
+
In .NET Aspire, there are built-in integrations, each of which supports a different backing service. The following database systems have .NET Aspire integrations, available out-of-the-box:
197
197
198
198
- Azure Cosmos DB
199
199
- Azure Table Storage
@@ -203,7 +203,7 @@ In .NET Aspire, there are built-in components, each of which supports a differen
203
203
- PostgreSQL
204
204
- SQL Server
205
205
206
-
Other database components are likely to become available from Microsoft or third parties. If you use one of these components, you still have to code operations like read, write, and delete, but you don't have to write code that manages the database clients and enables microservices to discover them.
206
+
Other database integrations are likely to become available from Microsoft or third parties. If you use one of these integrations, you still have to code operations like read, write, and delete, but you don't have to write code that manages the database clients and enables microservices to discover them.
Copy file name to clipboardExpand all lines: docs/architecture/distributed-cloud-native-apps-containers/cloud-native-identity/azure-security.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -166,7 +166,7 @@ Access to the key vault can be monitored to ensure that only the expected applic
166
166
167
167
#### Azure Key Vault and .NET Aspire
168
168
169
-
You don't have to use .NET Aspire to connect your cloud-native app to Azure Key Vault, but if you do, much of the work is done for you because .NET Aspire includes a built-in Key Vault component. You can create and configure a Key Vault backing service centrally, in the .NET Aspire app host project. Then, you pass that service to every microservice that uses keys.
169
+
You don't have to use .NET Aspire to connect your cloud-native app to Azure Key Vault, but if you do, much of the work is done for you because .NET Aspire includes a built-in Key Vault integration. You can create and configure a Key Vault backing service centrally, in the .NET Aspire app host project. Then, you pass that service to every microservice that uses keys.
170
170
171
171
In such a microservice, you use dependency injection to retrieve the backing service and then interact with it using a `SecretClient` object as normal. You can, for example, retrieve a password from the vault and use it to authenticate with another microservice.
The .NET Aspire stack includes a built-in component to help you interact with Keycloak. As with other .NET Aspire components, you create a Keycloak backing service in the .NET Aspire app host project, and then pass it to the microservices that authenticate users.
37
+
The .NET Aspire stack includes a built-in integration to help you interact with Keycloak. As with other .NET Aspire integrations, you create a Keycloak backing service in the .NET Aspire app host project, and then pass it to the microservices that authenticate users.
38
38
39
39
In each of those microservices, you can add authentication types and configure their options to identify users. For example, this code adds JSON Web Token (JWT) bearer authentication:
Copy file name to clipboardExpand all lines: docs/architecture/distributed-cloud-native-apps-containers/communication-patterns/when-to-use-each-approach.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -148,11 +148,11 @@ Understanding the strengths and limitations of each communication pattern is cru
148
148
149
149
If you choose to use the .NET Aspire stack to build your cloud-native app, synchronous communications must be implemented with HTTP, HTTPS, or gRPC calls. .NET Aspire is not involved in this communication.
150
150
151
-
For asynchronous communications, .NET Aspire has components that help you work with queues in Azure Storage, RabbitMQ, Azure Service Bus, Apache Kafka, and NATS. You create these backing services in the app host project, and pass them to each microservice that uses them. In the microservices, you can use dependency injection to obtain objects that store and retrieve messages from queues in your preferred service.
151
+
For asynchronous communications, .NET Aspire has integrations that help you work with queues in Azure Storage, RabbitMQ, Azure Service Bus, Apache Kafka, and NATS. You create these backing services in the app host project, and pass them to each microservice that uses them. In the microservices, you can use dependency injection to obtain objects that store and retrieve messages from queues in your preferred service.
152
152
153
-
For streaming communications, use the .NET Aspire Apache Kafka component.
153
+
For streaming communications, use the .NET Aspire Apache Kafka integration.
154
154
155
-
Using .NET Aspire components also helps to improve resiliency. Some components can automatically retry requests that have failed, and you can configure timeouts for these retries.
155
+
Using .NET Aspire integrations also helps to improve resiliency. Some integrations can automatically retry requests that have failed, and you can configure timeouts for these retries.
156
156
157
157
In the next chapter we'll explore in more detail service-to-service communication patterns.
Copy file name to clipboardExpand all lines: docs/architecture/distributed-cloud-native-apps-containers/event-based-communication-patterns/integration-event-based-microservice-communications.md
+5-5
Original file line number
Diff line number
Diff line change
@@ -28,9 +28,9 @@ Of course, you could always build your own service bus features on top of lower-
28
28
29
29
Once you have decided that you want to have asynchronous and event-driven communication, you should choose the service bus product that best fits your needs for production.
30
30
31
-
## Implementing the Azure Service Bus component with .NET Aspire
31
+
## Implementing the Azure Service Bus integration with .NET Aspire
32
32
33
-
.NET Aspire makes it much more straightforward to implement an event bus, because it includes built-in components for systems like:
33
+
.NET Aspire makes it much more straightforward to implement an event bus, because it includes built-in integrations for systems like:
34
34
35
35
- RabbitMQ
36
36
- Azure Service Bus
@@ -54,7 +54,7 @@ The first step is to install the Azure Service Bus hosting package in the app ho
The .NET Aspire Service Bus component offers several configuration options to tailor the `ServiceBusClient` to your project's needs. You can use configuration providers to load settings from `appsettings.json` or other configuration files using the `Aspire:Azure:Messaging:ServiceBus` key.
101
+
The .NET Aspire Service Bus integration offers several configuration options to tailor the `ServiceBusClient` to your project's needs. You can use configuration providers to load settings from `appsettings.json` or other configuration files using the `Aspire:Azure:Messaging:ServiceBus` key.
102
102
103
103
Here's an example of how you might configure the ServiceBusClient in your `appsettings.json`:
104
104
@@ -116,7 +116,7 @@ Here's an example of how you might configure the ServiceBusClient in your `appse
116
116
}
117
117
```
118
118
119
-
For more information, see [.NET Aspire Azure Service Bus component](https://learn.microsoft.com/dotnet/aspire/messaging/azure-service-bus-component?tabs=dotnet-cli)
119
+
For more information, see [.NET Aspire Azure Service Bus integration](https://learn.microsoft.com/dotnet/aspire/messaging/azure-service-bus-integration?tabs=dotnet-cli)
Copy file name to clipboardExpand all lines: docs/architecture/distributed-cloud-native-apps-containers/event-based-communication-patterns/rabbitmq-event-bus-development-test-environment.md
Copy file name to clipboardExpand all lines: docs/architecture/distributed-cloud-native-apps-containers/introduction-dot-net-aspire/dot-net-aspire-overview.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ ms.date: 05/30/2024
29
29
30
30
-**Enhanced developer experience**: With .NET Aspire, developers get an improved experience with a consistent set of patterns and tools that simplify the process of building and running distributed apps.
31
31
32
-
-**Orchestration and components**: It provides features for orchestrating multi-project applications and their dependencies, along with standardized components for common services like databases and caching.
32
+
-**Orchestration and integrations**: It provides features for orchestrating multi-project applications and their dependencies, along with standardized integrations for common services like databases and caching.
33
33
34
34
-**Integrated tooling**: .NET Aspire comes with integrated tooling for popular development environments like Visual Studio and Visual Studio Code, as well as the .NET CLI, making it easier to create and manage applications.

12
+

13
13
14
-
**Figure 3-5**. Examples of .NET Aspire components.
14
+
**Figure 3-5**. Examples of .NET Aspire integrations.
15
15
16
-
.NET Aspire components are curated **NuGet packages** that handle specific cloud-native concerns. These components connect seamlessly with your app, ensuring consistent integration with services such as Redis, PostgreSQL, and more.
16
+
.NET Aspire integrations are curated **NuGet packages** that handle specific cloud-native concerns. These integrations connect seamlessly with your app, ensuring consistent integration with services such as Redis, PostgreSQL, and more.
17
17
18
-
Your choice of component depends on the problem you want to solve. For example, when you want to use a database to persist information, you can choose from:
18
+
Your choice of integration depends on the problem you want to solve. For example, when you want to use a database to persist information, you can choose from:
19
19
20
-
-**Azure Cosmos DB Entity Framework Core**: Access Azure Cosmos DB databases with Entity Framework Core using `Aspire.Microsoft.EntityFrameworkCore.Cosmos`. There's a separate component if you prefer not to use Entity Framework.
20
+
-**Azure Cosmos DB Entity Framework Core**: Access Azure Cosmos DB databases with Entity Framework Core using `Aspire.Microsoft.EntityFrameworkCore.Cosmos`. There's a separate integration if you prefer not to use Entity Framework.
21
21
-**MongoDB Driver**: Store and retrieve data from the popular NoSQL MongoDB databases using the `Aspire.MongoDB.Driver` package.
22
22
-**MySqlConnector**: Access MySql databases with the `Aspire.MySqlConnector` library.
23
23
-**Oracle Entity Framework Core**: Access Oracle databases with Entity Framework Core using `Aspire.Oracle.EntityFrameworkCore`.
@@ -30,7 +30,7 @@ If you want to send messages between you decoupled microservices, you can choose
30
30
-**Azure Service Bus**: Send messages to other microservices by calling Azure Service Bus through the `Aspire.Azure.Messaging.ServiceBus` package. Azure Service Bus provides a more versatile messaging solution than Azure Storage Queues.
31
31
-**NATS**: The `Aspire.NATS.Net` package provides access to NATS messaging servers.
32
32
33
-
Other popular .NET Aspire components include:
33
+
Other popular .NET Aspire integrations include:
34
34
35
35
-**Azure AI OpenAI**: Use the `Aspire.Azure.AI.OpenAI` library to call generative AI functionality.
36
36
-**Azure Search Documents**: The `Aspire.Azure.Search.Documents` package provides access to Azure AI Search.
@@ -39,9 +39,9 @@ Other popular .NET Aspire components include:
39
39
-**Azure Key Vault**: Access Azure Key Vault to manage secrets using the `Aspire.Azure.Security.KeyVault` library.
40
40
41
41
> [!NOTE]
42
-
> This isn't a full list and new components will be created by both Microsoft and third parties.
42
+
> This isn't a full list and new integrations will be created by both Microsoft and third parties.
43
43
44
-
These components simplify connections to popular services and platforms, handle cloud-native concerns, and ensure standardized configuration patterns. Remember to use the latest versions of .NET Aspire components to benefit from the latest features and security updates.
44
+
These integrations simplify connections to popular services and platforms, handle cloud-native concerns, and ensure standardized configuration patterns. Remember to use the latest versions of .NET Aspire integrations to benefit from the latest features and security updates.
Copy file name to clipboardExpand all lines: docs/architecture/distributed-cloud-native-apps-containers/introduction-dot-net-aspire/observability-and-dashboard.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -55,5 +55,5 @@ The **.NET Aspire Dashboard** is a stand alone tool developers can use with thei
55
55
- It displays sensitive data about resources, including configuration, console logs, and in-depth telemetry.
Copy file name to clipboardExpand all lines: docs/architecture/distributed-cloud-native-apps-containers/introduction-dot-net-aspire/service-discovery.md
Copy file name to clipboardExpand all lines: docs/architecture/distributed-cloud-native-apps-containers/introduction-to-cloud-native-development/what-is-cloud-native.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -338,9 +338,9 @@ You can either start by creating a new solution based on one of the .NET Aspire
338
338
339
339
- Each microservice is a .NET project and will be run in a container. During development, containers are run in Docker Desktop or Podman on your local computer. You can deploy containers to Docker hosts, Kubernetes clusters, or other container orchestrators.
340
340
- Observability is built-in with support for the OpenTelemetry SDK. You can observe the behavior of your app in the .NET Aspire dashboard or send the data to other tools.
341
-
- You can connect to a range of backing services by using .NET Aspire components. There are components for common message brokers, database systems, secrets stores, and caches. Each component includes resiliency enabled by default.
341
+
- You can connect to a range of backing services by using .NET Aspire integrations. There are integrations for common message brokers, database systems, secrets stores, and caches. Each integration includes resiliency enabled by default.
342
342
343
-
> *You don't have to use Azure to host a .NET Aspire solution. However, Azure Container Apps (ACA) or Azure Kubernetes Service (AKS) are scalable and robust choices and .NET Aspire includes several built-in components that work with Azure products, such as Azure Service Bus and Azure Cosmos DB.*
343
+
> *You don't have to use Azure to host a .NET Aspire solution. However, Azure Container Apps (ACA) or Azure Kubernetes Service (AKS) are scalable and robust choices and .NET Aspire includes several built-in integrations that work with Azure products, such as Azure Service Bus and Azure Cosmos DB.*
344
344
345
345
.NET Aspire is an opinionated stack - that means that it imposes a particular style of solution on you. If you disagree, there are other possible approaches but you'll have to code them yourself. A software architect who's already built cloud-native systems may find that disagreeable but for others who can adapt to the .NET Aspire way, the convenience of .NET Aspire is worth it.
0 commit comments