dotnet-aspire
.NET Aspire
What is Aspire?
.NET Aspire is an opinionated, cloud-ready stack for building observable, production-ready, distributed applications. It provides:
- Orchestration - Coordinate multi-service apps with AppHost
- Components - Pre-configured NuGet packages for common services (Redis, PostgreSQL, RabbitMQ, etc.)
- Tooling - Dashboard for logs, traces, metrics; CLI for management
- Service Defaults - Shared configuration for health checks, telemetry, resilience
AppHost (Orchestrator)
// MyApp.AppHost/Program.cs
var builder = DistributedApplication.CreateBuilder(args);
// Infrastructure resources
var postgres = builder.AddPostgres("postgres").WithDataVolume().WithPgAdmin();
var redis = builder.AddRedis("redis").WithRedisInsight();
var rabbitmq = builder.AddRabbitMQ("messaging").WithManagementPlugin();
// Databases
var appDb = postgres.AddDatabase("appdb");
// Projects (services)
var api = builder.AddProject<Projects.Api>("api")
.WithReference(appDb)
.WithReference(redis)
.WithReference(rabbitmq)
.WithExternalHttpEndpoints();
var web = builder.AddProject<Projects.Web>("web")
.WithReference(api)
.WithReference(redis)
.WithExternalHttpEndpoints();
var worker = builder.AddProject<Projects.Worker>("worker")
.WithReference(rabbitmq)
.WithReference(appDb);
builder.Build().Run();
Service Defaults
// ServiceDefaults/Extensions.cs (shared project)
public static IHostApplicationBuilder AddServiceDefaults(this IHostApplicationBuilder builder)
{
builder.ConfigureOpenTelemetry();
builder.AddDefaultHealthChecks();
builder.Services.AddServiceDiscovery();
builder.Services.ConfigureHttpClientDefaults(http =>
{
http.AddStandardResilienceHandler();
http.AddServiceDiscovery();
});
return builder;
}
Component Integrations
| Component | NuGet Package | AddXxx Method |
|---|---|---|
| PostgreSQL (EF) | Aspire.Npgsql.EntityFrameworkCore.PostgreSQL |
AddNpgsqlDbContext<T>() |
| SQL Server (EF) | Aspire.Microsoft.EntityFrameworkCore.SqlServer |
AddSqlServerDbContext<T>() |
| Redis Cache | Aspire.StackExchange.Redis.DistributedCaching |
AddRedisDistributedCache() |
| Redis Output Cache | Aspire.StackExchange.Redis.OutputCaching |
AddRedisOutputCache() |
| RabbitMQ | Aspire.RabbitMQ.Client |
AddRabbitMQClient() |
| Azure Service Bus | Aspire.Azure.Messaging.ServiceBus |
AddAzureServiceBusClient() |
| Azure Blob Storage | Aspire.Azure.Storage.Blobs |
AddAzureBlobClient() |
| Cosmos DB | Aspire.Microsoft.Azure.Cosmos |
AddAzureCosmosClient() |
Dashboard
The Aspire dashboard provides:
- Structured logs from all services
- Distributed traces across service boundaries
- Metrics (request rates, latencies, error rates)
- Resource status and health checks
Access at: https://localhost:18888 (default)
Deployment
# Deploy to Azure Container Apps
azd init
azd provision # Creates Azure resources
azd deploy # Deploys all services
# Or use Aspire CLI
aspire publish --publisher azure
Key Patterns
- Every service project calls
builder.AddServiceDefaults() - Use
WithReference()to establish service dependencies - Use
WithExternalHttpEndpoints()for publicly accessible services - Service discovery uses
https+http://service-nameURIs - All telemetry is automatically correlated across services
More from lobbi-docs/claude
vision-multimodal
Vision and multimodal capabilities for Claude including image analysis, PDF processing, and document understanding. Activate for image input, base64 encoding, multiple images, and visual analysis.
248design-system
Apply and manage the AI-powered design system with 50+ curated styles
126complex-reasoning
Multi-step reasoning patterns and frameworks for systematic problem solving. Activate for Chain-of-Thought, Tree-of-Thought, hypothesis-driven debugging, and structured analytical approaches that leverage extended thinking.
106gcp
Google Cloud Platform services including GKE, Cloud Run, Cloud Storage, BigQuery, and Pub/Sub. Activate for GCP infrastructure, Google Cloud deployment, and GCP integration.
73kanban
Kanban methodology including boards, WIP limits, flow metrics, and continuous delivery. Activate for Kanban boards, workflow visualization, and lean project management.
63debugging
Debugging techniques for Python, JavaScript, and distributed systems. Activate for troubleshooting, error analysis, log investigation, and performance debugging. Includes extended thinking integration for complex debugging scenarios.
59