You can deploy .NET Aspire applications everywhere that you can deploy a .NET application. For Kubernetes, the open source tool Aspir8 enables Kubernetes manifest generation right from your Aspire App Host project! .NET Aspire is completely integrated with the Azure Developer CLI (azd) for quick and efficient deployment to Azure Container apps. Additionally, right-click publish capability is available directly in Visual Studio for multi-node microservice projects.
.NET Aspire uses Telemetry data to determine how a service is operating. This includes the number of requests it is handling, how long each request takes, and how many errors have occurred. Telemetry in .NET Aspire can take three forms: logs, traces, and metrics. Overall, telemetry helps achieve the primary goal of .NET Aspire, which is to ensure that apps are straightforward to debug and diagnose.
.NET Aspire service defaults consist of helping methods and tools to manage the configurations for OpenTelemetry, health checks, environment variables, and more. These tools ensure your cloud-native application works across different environments reliably and securely.
.NET Aspire service discovery helps applications to find each other. Distributed applications consist of multiple services that talk to each other over the network.
The .NET Aspire Dashboard is a comprehensive tool for application diagnostics and monitoring. The dashboard allows you to closely track various aspects of your app, including logs, traces, and environment configurations, in real-time.
.NET Aspire provides APIs (Application Programming Interfaces) for creating distributed applications made up of multiple resources. It simplifies management by abstracting service discovery, environment variables, and container configurations, ensuring consistent setups across apps.
.NET Aspire is designed to easily build observable and reliable cloud-native applications while improving productivity for developers building those applications at a rapid pace. .NET Aspire does this in five main areas: the .NET Aspire Dashboard, application orchestration, components, service discovery, and deployment. Each of these pieces can be adopted individually into an existing application or adopted all together if you are starting a new project.
Aspir8 - a tool to generate deployment yaml for Kubernetes from a .NET Aspire AppHost project.
I explain how to introduce OpenTelemetry instrumentation in .NET. We will also configure an exporter and monitor the OpenTelemetry data from the Aspire Dashboard. If you're building or maintaining distributed .NET applications, understanding how they behave is key to ensuring reliability and performance. Distributed systems offer flexibility but introduce complexity, making troubleshooting a headache. OpenTelemetry is an open-source observability framework that makes this possible.
Let's learn the basics of .NET Aspire by building a simple blog website. We'll introduce a blog application that reads from markdown files on disk and start migrating it to use .NET Aspire and its cloud stack features