🙆

.NET Aspire が正式リリース!Aspireを紹介したBuild 2024のセッションを紹介します

2024/05/27に公開

株式会社ジェイテックジャパン CTOの高丘 @tomohisaです。こちらのブログでは何度か、Microsoftが開発中の.NET Aspireを紹介してきました。当時はAspireが正式リリース前だったのですが、2024年5月21-23日に行われたMicrosoft Build 2024でAspireが正式な8.0.1としてリリースされました。1.0.1出ないのは、Aspireは .NETに直結したプロジェクトのため、.NETのバージョンと連結して8.0.1になりました。

https://zenn.dev/jtechjapan_pub/articles/3da012ed4b49ed

https://zenn.dev/jtechjapan_pub/articles/685212103358fe

https://zenn.dev/jtechjapan_pub/articles/d51d86c3105634

Aspireの概要

.NET Aspireはそれ自体がプログラムに組み込まれるものではなく、複数のサーバーやサービス(データベースなどのコンテナや、Kafkaのようなメッセージキューを含む)を含むシステムを開発するときに

  1. 開発時に簡単に全ての機能を準備する機能
  2. 開発時に簡単に監視することのできるテレメトリサーバーとWebダッシュボード
  3. テスト時、リリース時に簡単にAzureやAWSなどのクラウドにデブロイする支援機能
    を含むものです。既存のWebアプリ開発にも正式リリースした今、簡単に組み込むことができます。

Microsoft Buildでのセッションが良かったため、関心のある方はこちらをまずみてみることをお勧めします。いかにリンクと概要を書きます。

セッション『Demystify cloud-native development with .NET Aspire』の概要

https://build.microsoft.com/en-US/sessions/1879189b-070b-4dfa-8c3b-8681e5442863?wt.mc_ID=Build2024_esc_corp_bl_oo_bl_BON

セッション名: Demystify cloud-native development with .NET Aspire - .NET Aspireでクラウドネイティブ開発の謎を解明する
イベント名: Microsoft Build 2024
日付: 2024年5月21日〜23日
セッション: BRK181
スピーカー: ダミアン・エドワーズ、デビッド・ファウラー

概要:

このセッションでは、.NET Aspireの詳細が紹介されました。以下は主な内容です。

  1. .NET Aspireの紹介:

    • ダミアン・エドワーズとデビッド・ファウラーが、.NET Aspireの概要と開発の背景について説明しました。.NET Aspireは、クラウド開発をより簡単にするために設計されています。
    • このプロジェクトは1年前に開始され、.NET 8のリリースとともに初めて公開されました。現在、Visual Studio 17.10に統合されており、.NET CLIやVS Codeでも使用可能です。
  2. コードのデモ:

    • ダミアンは、既存のeShopアプリを使用して、.NET Aspireを追加する前の開発体験と後の開発体験を比較しました。Aspireを使用することで、複数のプロジェクトを簡単に設定し、実行できるようになります。
    • Aspire Dashboardを使用して、アプリケーションのリソースやログ、トレース、メトリクスを一元管理する方法が紹介されました。
  3. サービスデフォルトの追加:

    • サービスデフォルトプロジェクトを追加することで、リトライ機能やサービスディスカバリー、オープンテレメトリー、ヘルスチェックなどの機能を簡単に設定できることが示されました。
    • これにより、分散トレースビューや構造化ログ情報を簡単に取得できるようになります。
  4. Aspire Componentsの紹介:

    • Aspire Componentsを使用して、データベースクライアントやRedisクライアントなどの外部リソースからのトレースやメトリクス、ヘルスチェックを追加する方法が紹介されました。
    • Aspire Componentsは、既存のクライアントライブラリにヘルスチェックやテレメトリーを追加し、DIに適切に注入するためのパッケージです。
  5. カスタムリソースの追加:

    • デビッド・ファウラーは、MailDevというNode.jsのSMTPサーバーを使用して、ローカルのSMTPサーバーを追加する方法をデモしました。カスタムリソースを作成し、Aspireに統合することで、開発環境を簡単に拡張できます。
    • また、サービスバスを使用して、メール送信をキューに移動する方法も紹介されました。
  6. Azureとの統合:

    • Aspireは、Azureとの統合もサポートしており、Azure Service Busを使用してメール送信をキューに移動するデモが行われました。
    • Azureのリソースを簡単にプロビジョニングし、アプリケーションに統合するための方法が紹介されました。

このセッションは、.NET Aspireの機能とその利用方法についての詳細な説明と実演を通じて、開発プロセスをどのように簡素化し、効率化できるかを示しました。

セッション『.NET Aspire development on any OS with the Visual Studio family』の概要

https://build.microsoft.com/en-US/sessions/9b201e14-f060-49ff-8462-91fb35d9c763?wt.mc_ID=Build2024_esc_corp_bl_oo_bl_BON

セッション名: .NET Aspire development on any OS with the Visual Studio family - .NET Aspireの開発は、Visual Studioファミリーを使用してどのOSでも可能
イベント名: Microsoft Build 2024
日付: 2024年5月21日〜23日
セッション: BRK182
スピーカー: ブランディー・ガスター、ウェンディー・ブライディング、ベス

概要:

このセッションでは、.NET Aspireについての詳細が紹介されました。以下は主な内容です。

  1. .NET Aspireの紹介:

    • ブランディー・ガスターは、昨年のCloud Nativeセッションからの進展として、.NET Aspireがどのように開発されてきたかを紹介しました。
    • .NET Aspireは、開発プロセスを簡素化し、より迅速に開発できるように設計されています。
  2. C# Dev KitとVisual Studio Code:

    • ウェンディー・ブライディングは、C# Dev Kitを使用してVS Codeでの開発方法をデモしました。
    • .NET Aspireのプロジェクトを作成し、Redisキャッシュを追加する手順を示しました。
    • VS Codeのホットリロード機能を利用して、コードの変更を即座に反映する方法も紹介されました。
  3. Visual Studioでの開発:

    • ブランディー・ガスターは、Visual Studioを使用した開発方法をデモしました。
    • .NET Aspireのプロジェクトを作成し、テストプロジェクトを追加する手順を示しました。
    • Azure Storageを使用して、クラウド上でリソースをプロビジョニングする方法も紹介されました。
  4. Azureとの統合:

    • .NET AspireはAzureと密接に統合されており、簡単にAzure Container Appsにデプロイできる機能が紹介されました。
    • ダッシュボード機能を使用して、分散トレースビューを表示し、アプリケーションのパフォーマンスを監視する方法もデモされました。
  5. コール・トゥ・アクション:

    • .NET Aspireのワークロードをインストールし、最初のアプリを作成することを推奨。
    • C# Dev Kitを試し、フィードバックを提供することが求められました。
    • Azure Container Appsへのデプロイを試し、体験を共有することが奨励されました。

このセッションは、.NET Aspireの開発プロセスを簡素化し、効率的にするためのツールと技術についての詳細な説明とデモンストレーションを提供しました。

まとめ

.NET Aspire は.NETを使用して複数のサービスを使用して開発のローカル開発を促進し、またデプロイにも使用することができます。シンプルなコードでインフラの情報を設定できるため、.NETを開発に使用する理由の一つとなると思います。ドキュメント、Githubの公式ページにはたくさんの情報がありますし、オフィシャルのサンプルサイトにはたくさんの使用例があり、動作させることが可能です。個人的にもAspireの使用例を引き続き書いていきたいと思います。

https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview

https://github.com/dotnet/aspire

https://github.com/dotnet/aspire-samples

ジェイテックジャパンブログ

Discussion