Code-First Control
Define your stack in code—no YAML. Aspire launches locally, then shifts to real cloud services without changing your architecture. Dev and deploy, fully wired.
Code-First Control
Define your stack in code—no YAML. Aspire launches locally, then shifts to real cloud services without changing your architecture. Dev and deploy, fully wired.
Modular and Extensible
Orchestrate your existing stack—frontends, APIs, containers, databases, and more — without rewriting or replatforming. Extend Aspire for anything.
Observability from the Start
Logs, traces, health checks—all local, all wired up automatically. OpenTelemetry included with zero setup.
Flexible Deployments
Ship it how you want — to Kubernetes, your own infra, or managed services. Aspire adapts to your environment, not the other way around.
Describe your stack in code. Easily add services, connect them to each other, and get everything running locally with a single command.
import { createBuilder } from "./.modules/distributed-application";
const builder = createBuilder();
// Add database service to orbitconst postgres = builder.addPostgres("db").addDatabase("appdata");
// Add API service and reference the databaseconst api = builder.addProject("api", "../api/ApiService") .withReference(postgres);
// Add frontend service and reference the APIconst frontend = builder.addNpmApp("frontend", "../frontend") .withHttpEndpoint({ env: "PORT", targetPort: 3000 }) .withNpmPackageInstallation() .withReference(api);
builder.build().run();
from aspire import create_builder
builder = create_builder()
# Add database service to orbitpostgres = builder.add_postgres("db").add_database("appdata")
# Add API service and reference the databaseapi = builder.add_project("api", "../api/api_service.py") // .with_reference(postgres)
# Add frontend service and reference the APIbuilder.add_npm_app("frontend", "../frontend") // .with_http_endpoint(env="PORT", target_port=3000) // .with_npm_package_installation() // .with_reference(api)
# Launch your services into orbitbuilder.build().run()
var builder = DistributedApplication.CreateBuilder(args);
// Add database service to orbitvar postgres = builder.AddPostgres("db").AddDatabase("appdata");
// Add API service and reference the databasevar api = builder.AddProject("api", "../api/ApiService.csproj") .WithReference(postgres);
// Add frontend service and reference the APIvar frontend = builder.AddNpmApp("frontend", "../frontend") .WithHttpEndpoint(env: "PORT", targetPort: 3000) .WithNpmPackageInstallation() .WithReference(api);
builder.Build().Run();
Local Development
aspire run
localhost
Production Deployment
aspire publish
Get deep insights into your app while you build it—backed with OpenTelemetry, GitHub Copilot, D3.js resource graphs, and more.
Aspire integrates with your favorite platforms, services, databases, messaging systems, caching layers, programming languages, and more.
Get Aspire
View Docs