無料かつオープンソース
Aspire は開発者ファーストで常に無料のオープンソース プラットフォームです。活発なコミュニティに参加して、モダンな開発の未来を形作りましょう。
スタックをコードで定義—型安全で読みやすく。アーキテクチャを変えることなく、ローカル実行からどこへでもデプロイできます。
フロントエンド、API、コンテナ、データベースを、書き直しなしでオーケストレーション。Aspire
をスタックに合わせて拡張し、どこへでもデプロイ可能です。
組み込みの OpenTelemetry
により、ログ、トレース、正常性チェックを自動提供。セットアップ不要で、より迅速にデバッグできます。
Kubernetes、クラウド、オンプレミスなど、どこへでもデプロイ。Aspire
は環境に適応し、書き直しなしで一貫したデプロイを実現します。
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.AddAzurePostgresFlexibleServer("db")
var frontend = builder.AddViteApp("frontend", "../frontend")
.WithHttpEndpoint(env: "PORT")
.WithNpmPackageInstallation()
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddAzurePostgresFlexibleServer("db")
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.AddAzurePostgresFlexibleServer("db")
// 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.AddAzurePostgresFlexibleServer("db")
// 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.AddAzurePostgresFlexibleServer("db")
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddAzurePostgresFlexibleServer("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")
.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.AddAzurePostgresFlexibleServer("db")
// Add API service and reference the database
var api = builder.AddProject("api", "../api/ApiService.csproj")
.PublishAsAzureContainerApp();
var builder = DistributedApplication.CreateBuilder(args);
var postgres = builder.AddAzurePostgresFlexibleServer("db")
// 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 は ローカル開発向けに設計されており、手元の環境で本番環境を忠実に再現します。これにより「自分の環境では動く」といった問題を解消し、スムーズなデプロイを実現できます。詳しくはデプロイとアプリトポロジを学ぶをご確認ください。
コンテナ化されたサービスによるローカル開発
テスト用に完全なステージング環境を起動・破棄
本番クラウドサービス — コード変更不要
Redis
Shortlived container
PostgreSQL
Azure Database for PostgreSQL
PostgreSQL
Local container
Frontend
Azure Static Web Apps
Aspire の CLI を使用すれば、すべてをローカルで起動したり、CI/CD の過程でデプロイ用アーティファクトを作成したりできます。
さっそく始めて、最初の Aspire アプリを作成してみましょう。
すぐに使える OpenTelemetry ダッシュボードを活用して、ログ、メトリクス、トレースをリアルタイムで監視 できます。ワークフローに直接統合されています。詳しくはAspire ダッシュボードをご確認ください。
マルチクラウド & 無制限インテグレーション — Aspire を Azure、AWS、または自社インフラに接続できます。あらゆるスタックを、どこでも活用できる豊富な連携エコシステムをご利用ください。インテグレーションギャラリーを見る。
バズワードを信じない?あなたのスタックでドキュメントを検索! ここでキーワードを入力して、Aspire がすでにお使いのツールとどのように連携するかを正確に確認できます。
🔍 ドキュメントやガイドを検索して、必要な情報を見つけてください:
私たちの言葉だけでなく! 個人開発者からエンタープライズまで、あなたと同じ開発者たちが Aspire を使って、より速く開発し、自信を持ってリリースしています。Aspire を支えるコミュニティをご覧ください。
SP
Aspire lets developers be developers again.
RH
I had someone start on a Monday morning and they were contributing code by lunch.
NC
The best thing that happened in .NET since it went open source in 2014!
MJ
I was surprised by how quickly Aspire got me from idea to running services.
NU
I've never wanted to commit to a Microsoft technology this much.
CT
Hit F5 to begin — skip the setup boss fight, ship code faster.
SK
Aspire was easy to integrate with our existing container orchestration.
DC
OpenTelemetry out-of-the-box in the Aspire dashboard is a game changer for observability!
CLI をインストールして Aspire を始め、ドキュメントでアプリケーションのモデル化、実行、デプロイ方法を学んでみましょう。