Introducing Distributed Application Runtime (Dapr)

Introducing Distributed Application Runtime (Dapr)

Simplifying Microservices Applications Development Through Proven and Reusable Patterns and Practices

Radoslav Gatev


  • Description
  • Author
  • Info
  • Reviews


Use this book to learn the Distributed Application Runtime (Dapr), a new event-driven runtime from Microsoft designed to help developers build microservices applications, using a palette of languages and frameworks that run everywhere: on-premises, in any cloud, and even on the edge.

One of the most popular architectural patterns for implementing large, complex, distributed solutions is the microservices architectural style. Because solutions are composed of services based on various languages, frameworks, and platforms, the more complex and compartmentalized an application becomes, the more considerations a developer has to keep in mind. Much of the time this proves to be difficult.

Introducing Distributed Application Runtime (Dapr) is your guide to achieving more with less through patterns. Part I of the book is about understanding microservices and getting up and running with Dapr, either on your machine or in any Kubernetes cluster. From there you are guided through the concepts of Dapr, how it works, and what it can do for you. You will wrap up with various ways to debug Dapr applications using Visual Studio Code locally, inside a container or Kubernetes. In Part II you will jump into the reusable patterns and practices, the building blocks of Dapr. You will go from service invocation, publish and subscribe, state management, resource bindings, and the Actor model to secrets; each building block is covered in detail in its own dedicated chapter. You will learn what Dapr offers from a functional perspective and also how you can leverage the three pillars of observability (logs, metrics, and traces) in order to gain insight into your applications. In Part III you will explore advanced concepts, including using middleware pipelines, integrating Dapr into web frameworks such as ASP.NET Core, or the runtimes of Azure Logic Apps and Azure Functions.

The book features a multi-versed set of examples that cover not only the plain API of Dapr, but also the .NET SDK. Hence, most of the examples are in .NET 5, with a small number in JavaScript to exemplify the use of multiple languages. Examples show you how to securely use Dapr to leverage a variety of services in Microsoft Azure, including Azure Kubernetes Service, Azure Storage, Azure Service Bus, Azure Event Grid, Azure Key Vault, Azure Monitor, and Azure Active Directory among others.

What You Will Learn
  • Recognize the challenges and boundaries of microservices architecture
  • Host Dapr inside a Kubernetes cluster or as a standalone process
  • Leverage and use Dapr’s ready-to-use patterns and practices
  • Utilize its HTTP/gRPC APIs
  • Use Dapr with ASP.NET Core and in .NET applications (with or without the SDK)
  • Implement observability for Dapr applications
  • Secure Dapr applications
  • Integrate Dapr with the runtime of Azure Logic Apps and Azure Functions
  • Realize the full potential of Visual Studio Code by using the right extensions that will contribute to a better development experience

Who This Book Is For

Developers and architects who want to utilize a proven set of patterns to help easily implement microservices applications


Radoslav Gatev:
Radoslav Gatev is a software architect and consultant who specializes in designing and building complex and vast solutions in Microsoft Azure. He helps companies all over the world, ranging from startups to big enterprises, to have high-performant and resilient applications that utilize the cloud in the best and most efficient way possible. Radoslav has been awarded a Microsoft Most Valuable Professional (MVP) for Microsoft Azure for his ongoing contributions to the community in this area. He strives for excellence and enjoyment when working on the bleeding edge of technology and is excited to work with Dapr. He frequently speaks and presents at various conferences and participates in organizing multiple technical conferences in Bulgaria.