Skip to content

Commit 1492840

Browse files
alistairmatthewsIEvangelist
authored andcommitted
Replaced .NET Aspire components with integrations.
1 parent 2d100d1 commit 1492840

File tree

20 files changed

+39
-39
lines changed

20 files changed

+39
-39
lines changed

docs/architecture/distributed-cloud-native-apps-containers/api-gateways/gateway-patterns.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ Another advantage of the Azure SignalR Service comes with implementing serverles
147147

148148
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.
149149

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.
151151

152152
## Drawbacks of the API Gateway pattern
153153

docs/architecture/distributed-cloud-native-apps-containers/architecting-distributed-cloud-native-applications/different-distributed-architectures.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ This is where .NET Aspire comes in - it's a stack that helps you create manageab
6565

6666
- 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.
6767
- 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.
7070

7171
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.
7272

docs/architecture/distributed-cloud-native-apps-containers/chpt8-data-patterns/azure-caching.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ Azure Redis Cache is available across a number of predefined configurations and
5656

5757
## Using Redis caches with .NET Aspire
5858

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:
6060

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.
6464

6565
In the app host, you add the Redis hosting package. In this case, we'll add a distributed cache:
6666

@@ -79,7 +79,7 @@ builder.AddProject<Projects.ExampleProject>()
7979
.WithReference(cache)
8080
```
8181

82-
In the microservice where you want to use the cache, start by installing the component:
82+
In the microservice where you want to use the cache, start by installing the integration:
8383

8484
```dotnetcli
8585
dotnet add package Aspire.StackExchange.Redis.DistributedCaching

docs/architecture/distributed-cloud-native-apps-containers/chpt8-data-patterns/relational-vs-nosql-data.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ To partition the container, items are divided into distinct subsets called logic
193193

194194
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.
195195

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:
197197

198198
- Azure Cosmos DB
199199
- Azure Table Storage
@@ -203,7 +203,7 @@ In .NET Aspire, there are built-in components, each of which supports a differen
203203
- PostgreSQL
204204
- SQL Server
205205

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.
207207

208208
## NewSQL databases
209209

docs/architecture/distributed-cloud-native-apps-containers/cloud-native-identity/azure-security.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ Access to the key vault can be monitored to ensure that only the expected applic
166166

167167
#### Azure Key Vault and .NET Aspire
168168

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.
170170

171171
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.
172172

docs/architecture/distributed-cloud-native-apps-containers/cloud-native-identity/keycloak.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Beyond role-based authorization, Keycloak offers fine-grained authorization serv
3434

3535
## Keycloak and .NET Aspire
3636

37-
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.
3838

3939
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:
4040

docs/architecture/distributed-cloud-native-apps-containers/communication-patterns/when-to-use-each-approach.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,11 @@ Understanding the strengths and limitations of each communication pattern is cru
148148

149149
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.
150150

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.
152152

153-
For streaming communications, use the .NET Aspire Apache Kafka component.
153+
For streaming communications, use the .NET Aspire Apache Kafka integration.
154154

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.
156156

157157
In the next chapter we'll explore in more detail service-to-service communication patterns.
158158

docs/architecture/distributed-cloud-native-apps-containers/event-based-communication-patterns/integration-event-based-microservice-communications.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ Of course, you could always build your own service bus features on top of lower-
2828

2929
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.
3030

31-
## Implementing the Azure Service Bus component with .NET Aspire
31+
## Implementing the Azure Service Bus integration with .NET Aspire
3232

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:
3434

3535
- RabbitMQ
3636
- Azure Service Bus
@@ -54,7 +54,7 @@ The first step is to install the Azure Service Bus hosting package in the app ho
5454
dotnet add package Aspire.Hosting.Azure.ServiceBus
5555
```
5656

57-
Then, in the app host _Program.cs_ file, you can register the Service Bus component and consume the service as follows:
57+
Then, in the app host _Program.cs_ file, you can register the Service Bus integration and consume the service as follows:
5858

5959
```csharp
6060
var builder = DistributedApplication.CreateBuilder(args);
@@ -98,7 +98,7 @@ public class ExampleService
9898

9999
### Configuration
100100

101-
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.
102102

103103
Here's an example of how you might configure the ServiceBusClient in your `appsettings.json`:
104104

@@ -116,7 +116,7 @@ Here's an example of how you might configure the ServiceBusClient in your `appse
116116
}
117117
```
118118

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)
120120

121121
## Integration events
122122

docs/architecture/distributed-cloud-native-apps-containers/event-based-communication-patterns/rabbitmq-event-bus-development-test-environment.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ builder.AddProject<Projects.ExampleProject>()
149149
.WithReference(messaging);
150150
```
151151

152-
For more information, see [.NET Aspire RabbitMQ component](https://learn.microsoft.com/dotnet/aspire/messaging/rabbitmq-client-component)
152+
For more information, see [.NET Aspire RabbitMQ integration](https://learn.microsoft.com/dotnet/aspire/messaging/rabbitmq-client-integration)
153153

154154
## Additional resources
155155

docs/architecture/distributed-cloud-native-apps-containers/introduction-dot-net-aspire/dot-net-aspire-overview.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ ms.date: 05/30/2024
2929

3030
- **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.
3131

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.
3333

3434
- **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.
3535

docs/architecture/distributed-cloud-native-apps-containers/introduction-dot-net-aspire/components.md renamed to docs/architecture/distributed-cloud-native-apps-containers/introduction-dot-net-aspire/integrations.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
---
2-
title: .NET Aspire components
3-
description: Architecture for Distributed Cloud-Native Apps with .NET Aspire & Containers | .NET Aspire components
2+
title: .NET Aspire integrations
3+
description: Architecture for Distributed Cloud-Native Apps with .NET Aspire & Containers | .NET Aspire integrations
44
author:
55
ms.date: 04/25/2024
66
---
77

8-
# .NET Aspire components: Empowering cloud-native applications
8+
# .NET Aspire integrations: Empowering cloud-native applications
99

1010
[!INCLUDE [download-alert](../includes/download-alert.md)]
1111

12-
![A diagram showing some example .NET Aspire components - and the NuGet package website.](media/aspire-components.png)
12+
![A diagram showing some example .NET Aspire integrations - and the NuGet package website.](media/aspire-integrations.png)
1313

14-
**Figure 3-5**. Examples of .NET Aspire components.
14+
**Figure 3-5**. Examples of .NET Aspire integrations.
1515

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.
1717

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:
1919

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.
2121
- **MongoDB Driver**: Store and retrieve data from the popular NoSQL MongoDB databases using the `Aspire.MongoDB.Driver` package.
2222
- **MySqlConnector**: Access MySql databases with the `Aspire.MySqlConnector` library.
2323
- **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
3030
- **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.
3131
- **NATS**: The `Aspire.NATS.Net` package provides access to NATS messaging servers.
3232

33-
Other popular .NET Aspire components include:
33+
Other popular .NET Aspire integrations include:
3434

3535
- **Azure AI OpenAI**: Use the `Aspire.Azure.AI.OpenAI` library to call generative AI functionality.
3636
- **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:
3939
- **Azure Key Vault**: Access Azure Key Vault to manage secrets using the `Aspire.Azure.Security.KeyVault` library.
4040

4141
> [!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.
4343
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.
4545

4646
>[!div class="step-by-step"]
4747
>[Previous](service-discovery.md)

docs/architecture/distributed-cloud-native-apps-containers/introduction-dot-net-aspire/observability-and-dashboard.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,5 +55,5 @@ The **.NET Aspire Dashboard** is a stand alone tool developers can use with thei
5555
- It displays sensitive data about resources, including configuration, console logs, and in-depth telemetry.
5656
5757
>[!div class="step-by-step"]
58-
>[Previous](components.md)
58+
>[Previous](integrations.md)
5959
>[Next](../architecting-distributed-cloud-native-applications/why-choose-distributed-architecture.md)

docs/architecture/distributed-cloud-native-apps-containers/introduction-dot-net-aspire/service-discovery.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,4 @@ In this JSON:
7777

7878
>[!div class="step-by-step"]
7979
>[Previous](orchestration.md)
80-
>[Next](components.md)
80+
>[Next](integrations.md)

docs/architecture/distributed-cloud-native-apps-containers/introduction-to-cloud-native-development/what-is-cloud-native.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -338,9 +338,9 @@ You can either start by creating a new solution based on one of the .NET Aspire
338338

339339
- 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.
340340
- 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.
342342

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.*
344344
345345
.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.
346346

0 commit comments

Comments
 (0)