Last week, Microsoft revealed the availability of the .NET Aspire - third preview. Preview 3 brings changes including UI improvements to the dashboard, and new component support for Azure OpenAI, Kafka, Oracle, MySQL, CosmosDB & Orleans, and many more.
The .NET Aspire is a new cloud-native development stack announced by Microsoft and the .NET team in November during the .NET Conf Event.
In the latest update, the .NET Aspire Dashboard has experienced refactoring, transforming it into an independent component. Formerly integrated within the host project, according to Microsoft this reconstruction aims to mitigate version conflicts with project dependencies.
As reported, the dashboard now functions as a standalone executable, communicating via gRPC to retrieve information regarding projects, containers, statuses, and logs. Its improvements include enhanced accessibility, localization features, a new resource details view, and telemetry enhancements.
Furthermore, regarding .NET Aspire components and updates to it, the development team states the following:
.NET Aspire components are a curated suite of NuGet packages specifically selected to facilitate the integration of cloud-native applications with prominent services and platforms. Each component furnishes essential cloud-native functionalities through either automatic provisioning or standardized configuration patterns. .NET Aspire components can be used without an orchestrator project, but they're designed to work best with the .NET Aspire app host.
Notable additions include the integration of Azure AI OpenAI services, which enables integration of the Azure AI OpenAI or OpenAI services from a .NET Aspire project. Preview 3 also now includes Apache Kafka support for message production and consumption.
Furthermore, regarding the database realm, there is now support for Oracle Entity Framework, enabling connection pooling, health check, logging and telemetry, and also a MySQL Entity Framework. From Preview 3 developers can also try the CosmosDB hosting support.
var builder = DistributedApplication.CreateBuilder(args);
var db = builder.AddAzureCosmosDB("cosmos")
.UseEmulator()
.AddDatabase("db");
var app = builder.AddProject<Projects.MyApp("app");
...
builder.AddAzureCosmosDB("db", static settings =>
{
settings.IgnoreEmulatorCertificate = true;
});
Microsoft emphasizes that a lot of new component addition in Preview 3 is done by community work.
Preview 3 also introduces support for Orleans v8.1.0-preview1 or later, allowing users to configure clusters within the app host, specifying the resources to be utilized. Currently, Redis, Azure Table, and Blob storage resources are supported, with plans to include support for additional resources in subsequent updates.
Deployment enhancements are also part of, particularly the Azure Developer CLI (azd), an open-source tool designed for application deployment on Azure. This release emphasizes improvements in CosmosDB and AzureSQL support within the CLI, further simplifying the provisioning and deployment process for Aspire apps on Azure Container Apps.
Moreover, updates to Dapr, a portable, event-driven runtime, include improvements such as eliminating the need to specify IDs for Dapr sidecars and extending support for describing all Dapr components in the app model. Furthermore, the Azure Developer CLI now supports deploying .NET Aspire apps utilizing Dapr to Azure Container Apps.
In the latest update, there's been a breaking change in how services are connected. The previous method, WithServiceBinding, has been replaced by WithEndpoint. This adjustment aims to provide clearer functionality. Additionally, options for connecting via HTTP or HTTPS have been introduced to enhance flexibility in service connections.
Regarding the community feedback, a user expressed confusion about Orleans support in a recent online discussion, questioning its inclusion in the framework. David Fowler clarified that the latest updates aim to enhance Orleans support, making it more first-class, guided, and easier to deploy. Meanwhile, other users expressed gratitude for the progress, indicating a generally positive response to .NET Aspire Preview 3.
Finally, the .NET Aspire team has stated their intention to roll out a fresh preview version every month, culminating in a stable 8.0 release by the second quarter of 2024. According to Microsoft, these monthly releases are scheduled and designed to offer developers consistent updates, incorporating new features and enhancements along the way.