I believe it’s kind of like a plug and play approach to things like Kafka.
My understanding is that you have a set of core functionality that is entirely optional so you only run what you want and need. These features are defined at a high level like state management (persistence) or an event bus.
Dapr provides a unified API that sits on top of all this and allows you to swap out your event bus system from say Kafka to Google PubSub without any code changes.
But under the hood everything seems to operate via gRPC calls.
I had no idea from the dapr website that it's a Microsoft project... that's an interesting approach. They're not even listed among the companies supposedly using dapr!
I'm not saying it's nefarious, it's kind of refreshing to let the project succeed on its own merits.
It seems pretty solid as an approach. The messaging I heard in an e-book they just released on it says this is everything we learned so far internally at Microsoft but also from our consulting services with other enterprises.
From what I’ve seen I think the abstractions they have focused on make a lot of sense and do a LOT to reduce the complexity of my own applications from both a code and operational point of view.
I’m excited to actually try it and see what the experience is like for someone coming strictly from the monolith world.