無料かつオープンソース
Aspire は開発者ファーストで常に無料のオープンソース プラットフォームです。活発なコミュニティに参加して、モダンな開発の未来を形作りましょう。
スタックをコードで定義—型安全で読みやすい。ローカル実行し、アーキテクチャ変更なしでどこへでもデプロイ。
フロントエンド、API、コンテナ、DB を再実装なしでオーケストレーション。スタックに合わせて拡張し、どこへでもデプロイ。
組み込み OpenTelemetry がログ・トレース・ヘルスチェックを自動提供—設定不要で高速デバッグ。
どこへでもデプロイ—Kubernetes、クラウド、オンプレ。追加再実装なしで一貫性を維持。
Aspire はモジュール的・合成可能・拡張可能。関連・デプロイオプション・開発時フラグを一元設定。AppHost について詳しく。
var builder = DistributedApplication.CreateBuilder(args);
// This would be a rather boring AppHost ☹️...
// Toggle the options above to see what an AppHost might look like.
// For example, select "Front end" to add a frontend service.
var builder = DistributedApplication.CreateBuilder(args);
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT");
var builder = DistributedApplication.CreateBuilder(args);
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT");
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080);
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT");
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT");
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080);
var builder = DistributedApplication.CreateBuilder(args);
var api = builder.AddProject("api", "../api/ApiService.csproj");
// Add frontend service and reference the API
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
var builder = DistributedApplication.CreateBuilder(args);
var api = builder.AddProject("api", "../api/ApiService.csproj");
// Add frontend service and reference the API
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080);
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
// Add API service and reference the database
var api = builder.AddProject("api", "../api/ApiService.csproj")
.WithReference(postgres);
// Add frontend service and reference the API
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
// Add API service and reference the database
var api = builder.AddProject("api", "../api/ApiService.csproj")
.WithReference(postgres);
// Add frontend service and reference the API
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080);
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080);
var builder = DistributedApplication.CreateBuilder(args);
var api = builder.AddProject("api", "../api/ApiService.csproj");
var builder = DistributedApplication.CreateBuilder(args);
var api = builder.AddProject("api", "../api/ApiService.csproj");
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080);
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
// Add API service and reference the database
var api = builder.AddProject("api", "../api/ApiService.csproj")
.WithReference(postgres);
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
// Add API service and reference the database
var api = builder.AddProject("api", "../api/ApiService.csproj")
.WithReference(postgres);
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080);
var builder = DistributedApplication.CreateBuilder(args);
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080);
var builder = DistributedApplication.CreateBuilder(args);
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
.WithNpmPackageInstallation()
var builder = DistributedApplication.CreateBuilder(args);
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
.WithNpmPackageInstallation()
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080)
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
.PublishAsAzurePostgresFlexibleServer();
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
.WithNpmPackageInstallation()
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
.PublishAsAzurePostgresFlexibleServer();
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
.WithNpmPackageInstallation()
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080)
var builder = DistributedApplication.CreateBuilder(args);
var api = builder.AddProject("api", "../api/ApiService.csproj")
.PublishAsAzureContainerApp();
// Add frontend service and reference the API
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
.WithNpmPackageInstallation()
var builder = DistributedApplication.CreateBuilder(args);
var api = builder.AddProject("api", "../api/ApiService.csproj")
.PublishAsAzureContainerApp();
// Add frontend service and reference the API
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
.WithNpmPackageInstallation()
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080)
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
.PublishAsAzurePostgresFlexibleServer();
// Add API service and reference the database
var api = builder.AddProject("api", "../api/ApiService.csproj")
.PublishAsAzureContainerApp();
// Add frontend service and reference the API
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
.WithNpmPackageInstallation()
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
.PublishAsAzurePostgresFlexibleServer();
// Add API service and reference the database
var api = builder.AddProject("api", "../api/ApiService.csproj")
.PublishAsAzureContainerApp();
// Add frontend service and reference the API
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
.WithNpmPackageInstallation()
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080)
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
.PublishAsAzurePostgresFlexibleServer();
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
.PublishAsAzurePostgresFlexibleServer();
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080)
var builder = DistributedApplication.CreateBuilder(args);
var api = builder.AddProject("api", "../api/ApiService.csproj")
.PublishAsAzureContainerApp();
var builder = DistributedApplication.CreateBuilder(args);
var api = builder.AddProject("api", "../api/ApiService.csproj")
.PublishAsAzureContainerApp();
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080)
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
.PublishAsAzurePostgresFlexibleServer();
// Add API service and reference the database
var api = builder.AddProject("api", "../api/ApiService.csproj")
.PublishAsAzureContainerApp();
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddPostgres("db")
.PublishAsAzurePostgresFlexibleServer();
// Add API service and reference the database
var api = builder.AddProject("api", "../api/ApiService.csproj")
.PublishAsAzureContainerApp();
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080)
var builder = DistributedApplication.CreateBuilder(args);
var customContainer = builder.AddContainer("mycustomcontainer", "myregistry/myapp", "latest")
.WithHttpEndpoint(targetPort: 8080)
あなたのスタック向け, Aspire は C#, Java, Python, JavaScript, TypeScript, Go などのアプリをオーケストレーション—好みの言語を利用。アプリのモデル化方法を見る。
幅広い言語とフレームワークを支援し、好みの技術で構築しつつ Aspire のオーケストレーションを活用。
ローカル開発向けに設計, Aspire はローカル環境で本番に近い形を再現し “ローカルでは動く” 問題を軽減。デプロイとアプリトポロジを学ぶ。
コンテナ化されたサービスによるローカル開発
テスト用に完全なステージング環境を起動・破棄
本番クラウドサービス — コード変更不要
Redis
Shortlived container
PostgreSQL
Azure Database for PostgreSQL
PostgreSQL
Local container
Frontend
Azure Static Web Apps
Aspire CLI でローカル一括起動、または CI/CD でデプロイ成果物生成。最初の Aspire アプリを作る。
ログ・メトリクス・トレースをリアルタイム監視—ワークフローに統合された OpenTelemetry ダッシュボード。
マルチクラウド & 無制限インテグレーション — Azure / AWS / 自前インフラへ接続。多様なエコシステムで任意スタックを強化。インテグレーションギャラリーを見る。
私たちの言葉だけでなく! Indie から Enterprise まで—開発を加速し自信あるリリースを実現。コミュニティを探索。
NC
The best thing that happened in .NET since it went open source in 2014!
DC
OpenTelemetry out-of-the-box in the Aspire dashboard is a game changer for observability!
NU
I've never wanted to commit to a Microsoft technology this much.
SK
Aspire was easy to integrate with our existing container orchestration.
SP
Aspire lets developers be developers again.
RH
I had someone start on a Monday morning and they were contributing code by lunch.
MJ
I was surprised by how quickly Aspire got me from idea to running services.
CT
Hit F5 to begin — skip the setup boss fight, ship code faster.
Aspire CLI をインストールして、モデル化・実行・デプロイ方法を Docs で学ぶ。