Aspire とは何ですか?
Aspire は、分散アプリケーションの構築、実行、デバッグ、デプロイを効率化します。 アプリケーションは、サービス、データベース、フロントエンドの集合体として構成され、本番環境ではそれらがシームレスに連携して動作しますが、開発時には個別に起動し、接続する必要があります。
Aspire を使えば、複雑な設定を不要にする統合ツールチェーンにより、ローカルでのデバッグが容易になります。 単一のコマンドで、アプリケーション全体を即座に起動・デバッグできます。
デプロイの準備ができたら、Aspire を使って Kubernetes、クラウド、または自社サーバーなど、あらゆる環境に公開できます。 さらに高い拡張性を備えており、お好みのツールやサービスを簡単に統合できます。
主なメリット
Section titled “主なメリット”- 統合された開発体験: 単一のコマンドで、分散アプリケーション全体を起動・デバッグできます。
- コードファーストの構成: 複雑な設定ファイルは不要で、アプリケーションのアーキテクチャをコードで定義できます。
- ローカル オーケストレーション: 開発時のサービス起動、依存関係、接続を自動的に管理します。
- 柔軟なデプロイ: 同じアーキテクチャ定義のまま、Kubernetes、クラウドプロバイダー、自社サーバーへデプロイできます。
- 高い拡張性: 豊富な連携エコシステムを通じて、お好みのツールやサービスと統合できます。
Aspire の仕組み
Section titled “Aspire の仕組み”Aspire は、コードファーストのアプローチ でアプリケーションのアーキテクチャを定義します。 複雑な設定ファイルを管理する代わりに、サービス、データベース、依存関係をコード上で直接記述します。この方法には、次のような利点があります:
- 型安全性: コンパイル時に構成ミスを検出できます。
- 入力補完のサポート: アーキテクチャ定義時に、コード補完やドキュメントを利用できます。
- バージョン管理: インフラ定義をコードと一緒に管理できます。
- リファクタリング: 使い慣れた開発ツールで、アプリケーションのアーキテクチャを再構成できます。
Aspire
がどのようにアプリケーションを支えているのかについては、AppHostとは?をご覧ください。
開発環境と本番環境
Section titled “開発環境と本番環境”Aspire は、開発環境と本番環境の間にあるギャップを埋めます:
- 開発環境: 依存関係管理やサービス検出を自動化し、サービスをローカルで実行できます。
- 本番環境: 同じアーキテクチャ定義を、さまざまなクラウド プラットフォームやオーケストレーターにデプロイできます。
- 一貫性: ローカルの開発環境が、本番環境のトポロジと一致することを保証します。
Aspire は、既存のデプロイ ワークフローを置き換えるものではありません。環境をまたいでアプリケーション アーキテクチャを一貫した方法で定義・管理できるようにすることで、それらを強化します。
詳しくは、パイプラインとアプリのトポロジーをご覧ください。