Session

Glueing .NET Aspire Services with Container Apps and Dapr

Ready to move your .NET Aspire project from local development to a production-ready cloud environment? This session provides a practical roadmap for deploying multi-service .NET solutions using Azure Container Apps and Dapr, tackling the common challenges of scaling, inter-service communication, and resilience.

In this session, you will learn how to:
* Containerize .NET Aspire services for a seamless deployment to Azure Container Apps.
* Leverage built-in Dapr components for robust service invocation, pub/sub messaging, and state management.
* Enhance communication and reliability between services without writing complex, boilerplate code.
* Create a clear strategy for streamlining the deployment and operation of your applications on Azure.

Join us to gain the skills and confidence needed to operate modern, cloud-native .NET solutions in production. This session is essential for developers and architects looking to simplify their service landscape and accelerate their deployment pipeline.

Target Audience
.NET developers and architects interested in building and deploying distributed applications on Azure. A basic understanding of .NET and C# is recommended. Prior experience with a multi-service environment, microservices or Azure is beneficial but not required.

Duration
This session is designed to be delivered within a 40 to 60-minute timeframe. It can be extended to a 90-minute session with more in-depth examples and hands-on coding.

Session Outline (60-Minute Version)
Part 1: Setting the Stage (25 minutes)

Introduction: Start with the core problem: the complexity of deploying, managing, and connecting multiple services in a production environment.

What is .NET Aspire?: Explain that Aspire is an opinionated, cloud-ready stack for building observable, production-ready, distributed applications. Focus on its role in simplifying the local development experience through service discovery, orchestration, and component configuration.

What is Dapr?: Introduce Dapr (Distributed Application Runtime) as a set of portable, event-driven APIs that simplify microservice development. Explain the sidecar pattern and how Dapr decouples your application code from infrastructure concerns like state management, pub/sub, and service-to-service calls.

Part 2: Introducing the Demo Application (15 minutes)

Application Architecture: Present a simple multi-service demo application

Local Development with Aspire: Showcase the .NET Aspire AppHost project, demonstrating how easily services are defined and connected. Run the application locally and highlight the Aspire Dashboard, showing logs, traces, and metrics across all services in one place.

Part 3: Deploying to Production (15 minutes)

The "Production Problem": Explain that the Aspire AppHost is for local development only and does not run in production. This creates the need for a production-ready orchestration and hosting platform.

Solution: Azure Container Apps: Introduce Azure Container Apps as the ideal host. Emphasize its serverless nature, built-in Dapr integration, and scaling capabilities.

Step 1: Containerize Services: Briefly explain how to containerize the individual services of the Aspire solution. Mention the use of azd (Azure Developer CLI) to streamline this process.

Step 2: Deploy to Azure Container Apps: Walk through the process of deploying the containerized services to an Azure Container Apps Environment.

Step 3: Configure Dapr: Demonstrate how to enable and configure Dapr on Azure Container Apps to replace the functionality provided by Aspire components locally. Show how to configure a state store and pub/sub broker using Dapr components.

Live Demo: Show the application running successfully in Azure, demonstrating that service invocation and state management are now handled by Dapr.

Part 4: Recap and Q&A (5 minutes)

Summary: Reiterate the key takeaways: Aspire for local development, Dapr for building portable distributed applications, and Azure Container Apps for production hosting and scaling.

Resources: Provide links to the GitHub repository with the demo code and official documentation.

Q&A: Open the floor for audience questions.

Eduard Keilholz

Cloud Solution Architect @ 4Dotnet | Book Author | International Conference Speaker | Founder of https://spreaview.com

The Hague, The Netherlands

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top