Marc Müller

Developing ASP.NET Core Microservices with Dapr: A practical guide

What if you could build resilient microservices without writing boilerplate for messaging, state, or security? Learn how Dapr's sidecar architecture simplifies development.

Developing ASP.NET Core Microservices with Dapr: A practical guide
#1about 2 minutes

The inherent complexity of cloud-native microservice applications

A sample fast-food restaurant application demonstrates the common challenges in microservices, including service communication, resilience, and scaling.

#2about 4 minutes

Introducing Dapr as a distributed application runtime

Dapr is a CNCF-graduated project that simplifies microservice development by providing a runtime to handle common distributed system challenges.

#3about 3 minutes

Understanding Dapr's building blocks and the sidecar pattern

Dapr uses a sidecar pattern where building blocks for state, pub/sub, and service invocation run in a separate process communicating via HTTP or gRPC.

#4about 3 minutes

How Dapr components simplify state management with minimal code

Dapr's platform-agnostic components are configured via YAML and accessed through a simple client API, as shown with a state store example.

#5about 3 minutes

Gaining observability and resilience with the sidecar pattern

The sidecar pattern provides out-of-the-box observability, resilience policies like retries and circuit breakers, and security with minimal performance overhead.

#6about 2 minutes

Exploring different ways to host the Dapr runtime

Dapr can be hosted self-contained, in Docker Compose for local development, or in Kubernetes where a sidecar injector automates its deployment.

#7about 3 minutes

Configuring Dapr components and the client in ASP.NET Core

Dapr is configured in ASP.NET Core by registering the client, while components like a RabbitMQ pub/sub are defined using declarative YAML files.

#8about 5 minutes

Implementing service invocation and pub/sub patterns

Dapr simplifies service-to-service calls with built-in mTLS and resilience, and implements pub/sub using CloudEvents and simple controller attributes.

#9about 2 minutes

Using the Dapr actor model for stateful services

The Dapr actor model provides a higher-level abstraction for managing stateful objects, distributing them across instances and handling their lifecycle.

#10about 2 minutes

Evaluating the advantages and drawbacks of adopting Dapr

Dapr accelerates development and ensures portability but introduces a small network hop and uses a generic API that abstracts away provider-specific features.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.