先週、マイクロソフトは.NET Aspireの2回目のプレビューを公開した。プレビュー2は、ダッシュボード、ホスティング、コンポーネント、Daprなどに関する変更と改善をもたらす。.NET Aspireは、11月の.NET Confイベント中にマイクロソフトと.NETチームによって発表された新しいクラウドネイティブ開発スタックである。
ご存じない読者のために説明すると、.NET Aspireは、開発者やチームがクラウドアプリケーションの構築、プロビジョニング、デプロイ、コンフィギュレーション、テスト、実行、観察を容易に行えるようにする独自のスタックである。.NET Aspireは、ドットネット・エコシステム内で、回復力があり、観測可能で、設定可能なクラウドネイティブ・アプリケーションを構築するための、新しいクラウドネイティブ開発スタックである。
.NET Aspireには、サービス・ディスカバリー、テレメトリー、回復力、ヘルス・チェックなど、クラウドネイティブ向けに強化された厳選されたコンポーネントがデフォルトで含まれている。
初期リリースの詳細については、InfoQの.NET Aspireに関する記事を参照されたい。
Preview 2は多くの改善をもたらす。ダッシュボードに関しては、大幅な改善が行われ、プロジェクト、実行可能ファイル、コンテナの詳細など、すべてのリソースタイプがAspireダッシュボードのPreview 2で統一されたResourcesページに統合された。
(.NET Aspireダッシュボード、新しいResourcesページ、出典): .NET Aspire Preview 2を発表)
続けて、新しいドッキング可能な詳細ペインのデザインはユーザーエクスペリエンスを向上させ、リソースの環境変数や構造化ログやトレーススパンの詳細のような関連するアイテムの詳細情報を表示するためのより直感的なインターフェイスを提供される。
さらに、さまざまなリソースタイプのコンソールログに、単一のコンソールログページからアクセスできるようになった。Structured Logs(構造化ログ)ビューでは、より良い分類のためにログのカテゴリ名が含まれるようになった。特に、他のリソースや開発サービスへの送信リクエストは、URLの代わりにリソース名やサービス名で表示されるようになり、わかりやすさとトレーサビリティが向上した。
その一方で、ホスティングとオーケストレーションに関する改善もあり、コンテナでは、IResourceBuilder<ContainerResource>.WithArgs
メソッドを使用して、起動時に渡す引数を設定できるようになった。
さらに、コンテナと実行可能ファイルの両方がエンドポイントを介して他のリソースを参照できるようになり、WithServiceBinding メソッドを使用したサービス・ディスカバリの設定が可能になった。また、
Damian Edwards氏は、アナウンス元の投稿で次のように述べている。
これにより、より複雑なソースレイアウトの状況、たとえばgitサブモジュールを使ってパートナーチームのリポジトリの内容を取り込む場合などに、現在のソリューションの外部からのプロジェクトを統合しやすくなる
リソースは、サービス発見設定のために既存のURIエンドポイントを参照できるようになった。特に、プロジェクトは、レプリカの有無にかかわらず、ホスト時に起動プロファイルのポートを利用するようになり、今回のアップデートでは Node.js アプリをリソースとして追加するサポートが導入された。
Node.jsアプリは、AddNodeAppおよびAddNpmAppメソッドを使用して、Aspire AppHostプロジェクトに簡単に含めることができる。このビルトインサポートは、新しい Aspire withNode.js サンプルでで利用され、OpenTelemetry トレースを Aspire ダッシュボードに出力するための Node.js アプリケーションのセットアップ方法を示している。
コンポーネントパッケージは、視覚的な識別を改善するために、個別のアイコンを持つようになった。特筆すべき追加として、MySqlConnectorとMongoDBコンポーネントが追加された。さらに、Azure SDK コンポーネントは、Service Bus コンポーネントを除き、デフォルトで分散トレースが有効になっている。
(Aspireコンポーネントは代表的なアイコンを持つようになった:.NET Aspire Preview 2を発表)
Azure Developer CLIは、デプロイエクスペリエンスを改善するために改良された。Aspir8は、.NET AspireアプリをKubernetesにデプロイするために特別に設計されたコミュニティ開発ツールで、prom3theu5というGitHubユーザーによって開発された。
Daprの統合は、このリリースで顕著な改善が見られる。Preview 2では、アプリモデル内のすべてのコンポーネントにDaprのファーストクラスのサポートが導入され、全体的な開発エクスペリエンスが向上した。DaprサイドカーのIDは明示的な指定が不要になり、設定が簡素化されたが、開発者は必要に応じてアプリケーションIDを明示的な値に設定できる。
さらに、Azure Developer CLI(AZD)は、Daprを利用した.NET AspireアプリのAzure Container Apps(ACA)へのデプロイをサポートするようになった。報告されているように、チームは、azd
がAspireアプリを数分でAzureにプロビジョニングしてデプロイするための最速かつもっともシンプルな方法を可能にするよう取り組んでおり、Preview 2のリリースは主にAzure Container Appsをターゲットにしていると述べられている。
最後に、今後の.NET Aspireチームについて、2024年の第2四半期に安定版8.0リリースに向けて、毎月新しいプレビュー版をリリースする予定であるとコメントしている。この毎月のリリースリズムは、開発者に定期的なアップデートを提供し、新機能や最適化を導入することを目的としている。