> Markdown version of [/videos/1528-developing-asp-net-core-microservices-with-dapr-a-practical-guide](https://www.wearedevelopers.com/videos/1528-developing-asp-net-core-microservices-with-dapr-a-practical-guide). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Developing ASP.NET Core Microservices with Dapr: A practical guide Tired of microservice infrastructure boilerplate slowing you down? Learn how Dapr offloads distributed system complexity in ASP.NET Core so you can focus strictly on business logic. - **Speakers:** [Marc Müller](https://www.wearedevelopers.com/@marc-muller) - **Event:** World Congress 2025 - **Published:** August 20, 2025 - **Duration:** 29:17 - **URL:** https://www.wearedevelopers.com/videos/1528-developing-asp-net-core-microservices-with-dapr-a-practical-guide ## Summary Building cloud-native microservices introduces compounding complexity as developers are forced to manage service communication, decoupling, state handling, and system resilience. Dapr (Distributed Application Runtime) solves this by abstracting distributed system challenges into modular building blocks accessed via standardize HTTP or gRPC APIs. By utilizing the sidecar pattern, Dapr runs a dedicated process alongside the application container, allowing developers to offload significant infrastructure boilerplate entirely. Using ASP.NET Core as a foundation, developers can seamlessly integrate Dapr SDKs to implement pub/sub messaging, virtual actor models, and secure service invocation. This architecture enables dynamic infrastructure swapping through declarative YAML configurations, allowing teams to use Redis and RabbitMQ for local development while seamlessly transitioning to Azure Container Apps and Azure Service Bus in production without changing underlying application code. Because Dapr operates as a reverse proxy, applications inherently gain out-of-the-box microservice observability, zero-trust mTLS encryption, and configurable resilience patterns like automated retries and circuit breakers. While introducing a sidecar pattern requires a minor network latency hop and relies on generalized APIs that might obscure highly specific message broker capabilities, the trade-off heavily favors developer velocity. Because the framework functions "like playing with Lego," engineering teams can adopt building blocks piecemeal rather than committing to a monolithic architecture. Ultimately, delegating distributed system complexities to Dapr ensures that development teams can focus strictly on core business logic while deploying highly portable, resilient software. **Keywords:** dapr sidecar pattern, asp.net core microservices, cloud-native application complexity, distributed application runtime, microservice resilience patterns, kubernetes sidecar injection, pub/sub message routing, .net virtual actor pattern, infrastructure portability configuration, mtls service invocation, dapr building blocks, distributed state management, grpc reverse proxy, azure container apps integration, microservice observability setup ## Chapters 1. **Reviewing the fast food microservices demo application** (00:05) — A practical sample application illustrates the complexity of decoupling, event communication, and scaling. 1. **Challenges of building cloud native microservices applications** (01:20) — Scaling applications introduces complexity around resilient communication, state handling, and decoupled events. 1. **Introducing Dapr as an event-driven application runtime** (04:17) — Dapr simplifies application development by providing standardized APIs for distributed system challenges. 1. **Understanding Dapr building blocks and sidecar architecture** (06:00) — The decentralized sidecar pattern runs adjacent to services to handle underlying infrastructure integrations. 1. **Implementing state management using simple Dapr APIs** (09:56) — Offloading infrastructure concerns allows developers to manage state across configurable storage providers. 1. **Gaining security and observability features for free** (12:01) — Routing traffic through a local sidecar automatically adds metrics, tracing, and network resiliency. 1. **Hosting Dapr sidecars in scalable Kubernetes infrastructure** (13:36) — Integrating the Dapr injector automates sidecar placement within application pods over internal localhost interfaces. 1. **Exploring execution environments and supported language SDKs** (15:09) — Flexible hosting allows Dapr usage locally, in containers, or within managed cloud platform offerings. 1. **Configuring local Dapr services using Docker Compose** (17:24) — Injecting the Dapr client locally matches the experience of cloud deployments via basic container configuration. 1. **Defining components iteratively through Kubernetes YAML manifests** (19:38) — Declarative component schemas seamlessly map local messaging brokers to enterprise cloud equivalents without code updates. 1. **Securing service invocation with zero-trust networking access** (20:44) — Encrypted mTLS tunnels securely route inter-service remote procedure calls through defined access policies. 1. **Structuring durable publish-subscribe messaging over cloud events** (22:33) — Relying on standardized HTTP endpoints handles retries, topic mapping, and dead letter queue routing. 1. **Implementing the distributed virtual actor pattern in .NET** (25:25) — Caching scalable actor models maintains rapid logical progression without complicating shared remote state coordination. 1. **Weighing productivity benefits against generic framework limitations** (27:19) — While Dapr accelerates foundational patterns, its abstract architecture may obscure vendor-specific messaging optimizations. ## Related Moments - [Building reliable microservices with the Dapr open source project](https://www.wearedevelopers.com/videos/1720-wearedevelopers-live-dapr-pixels-and-generative-art-open-source-and-communities-and-more) (from "WeAreDevelopers LIVE - Dapr / Pixels and Generative Art / Open Source and Communities / and more") - [Implementing Dapr sidecars for service-to-service communication](https://www.wearedevelopers.com/videos/1226-net-microservices-in-azure-container-apps) (from ".NET Microservices in Azure Container Apps") - [Dapr architecture and abstraction component building blocks](https://www.wearedevelopers.com/videos/1197-dapr-in-practice) (from "Dapr in Practice") - [Integrating Dapr implementations as a Kubernetes sidecar](https://www.wearedevelopers.com/videos/1197-dapr-in-practice) (from "Dapr in Practice") - [Introduction to ASP.NET Core and the ABP framework](https://www.wearedevelopers.com/videos/1552-building-multi-tenant-asp-net-core-applications-best-practices-and-real-world-solutions) (from "Building Multi-Tenant ASP.NET Core Applications: Best Practices and Real-World Solutions") - [Running microservices on Azure Container Apps](https://www.wearedevelopers.com/videos/440-back-end-to-the-future-embracing-the-continuous-evolution-of-infrastructure-and-code) (from "Back(end) to the Future: Embracing the continuous Evolution of Infrastructure and Code") ## Related Articles - [Why You Shouldn’t Build a Microservice Architecture](https://www.wearedevelopers.com/magazine/118-why-you-shouldn-t-build-a-microservice-architecture) - [Why Event-Driven Architecture Isn’t About Speed (and When You Actually Need It)](https://www.wearedevelopers.com/magazine/745-why-event-driven-architecture-isn-t-about-speed-and-when-you-actually-need-it) - [Dev Digest 132 - Binging WADFlix?](https://www.wearedevelopers.com/magazine/473-dev-digest-132-binging-wadflix) - [Building AI Solutions with Rust and Docker](https://www.wearedevelopers.com/magazine/494-building-ai-solutions-with-rust-and-docker) ## Related Jobs - [Senior Software Engineer, Client Apps Platform](https://www.wearedevelopers.com/jobs/ext/1773893-senior-software-engineer-client-apps-platform) at **GitHub** - [Principal Software Engineer, Enterprise AI Platform](https://www.wearedevelopers.com/jobs/ext/1467292-principal-software-engineer-enterprise-ai-platform) at **GitHub** - [Java Softwareentwickler - Spring Boot & Microservices](https://www.wearedevelopers.com/jobs/ext/1306817-java-softwareentwickler-spring-boot-microservices) at **Aok Systems Gmbh** - [Devops Engineer](https://www.wearedevelopers.com/jobs/ext/1940926-devops-engineer) at **Bitpanda** - [Staff Software Engineer](https://www.wearedevelopers.com/jobs/ext/1425755-staff-software-engineer) at **GitHub** - [Senior Backend Developer — AI: MCP & Agent Engine](https://www.wearedevelopers.com/jobs/48297-senior-backend-developer-ai-mcp-agent-engine) at **basebox GmbH**