Dapr v1 has officially released!
Dapr, or Distributed Application Runtime, is a new way to build modern distributed applications.
What started as a prototype has evolved into a highly successful open-source project. Its sponsor, Microsoft, has closely partnered with customers and the open-source community to design and build Dapr. The Dapr project brings together developers from all backgrounds to solve some of the toughest challenges of developing distributed applications.
Dapr addresses a large challenge inherent in modern distributed applications: Complexity.
Through an architecture of pluggable components, Dapr greatly simplifies the plumbing behind distributed applications. It provides a dynamic glue that binds your application with infrastructure capabilities from the Dapr runtime. For example, your application may require a state store. You could write custom code to target Redis Cache and inject it into your service at runtime. However, Dapr simplifies your experience by providing a distributed cache capability out-of-the-box. Your service invokes a Dapr building block that dynamically binds to Redis Cache component via a Dapr configuration. With this model, your service delegates the call to Dapr, which calls Redis on your behalf. Your service has no SDK, library, or direct reference to Redis. You code against the common Dapr state management API, not the Redis Cache API.
The figure below shows Dapr from 20,000 feet.
Dapr at 20,000 feet.
While language-specific SDKs enhance the developer experience, Dapr is platform agnostic. Under the hood, Dapr’s programming model exposes capabilities through standard HTTP/gRPC communication protocols. Any programming platform can call Dapr via its native HTTP and gRPC APIs.
The blue boxes across the center of the figure represent the Dapr building blocks. Each exposes a distributed application capability that your application can consume.
The bottom row highlights the portability of Dapr and the diverse environments across which it can run.
To learn more, check out the free Dapr for .NET Devs eBook. You can read it online or download a .pdf copy.
Even if, you NOT a .NET developer, the book provides a great deal of conceptual information about Dapr: What it is, what it does, and how it works. Check it out!
- Direct PDF download https://aka.ms/dapr-ebook
- Online version: https://docs.microsoft.com/dotnet/architecture/dapr-for-net-developers/
- Marketing landing page: .NET microservices application architecture guidance (microsoft.com)
- Reference sample(eShop ported to Dapr): dotnet-architecture/eShopOnDapr: A sample .NET Core distributed application based on eShopOnContainers, powered by Dapr. (github.com)