Dapr.io is een open source product, ontstaan vanuit Microsoft en omarmd door een brede coalitie van cloud leveranciers (onderdeel van CNFC) en open source projecten. Dapr is een runtime framework dat iedere applicatie kan ondersteunen en dat vooral schittert bij gedistribueerde applicaties, bijvoorbeeld microservices, die draaien in containers, verspreid over clouds en/of edge devices.
Met Dapr geef je een applicatie een "sidecar". Dit is een soort personal assistant die allerlei veelvoorkomende verantwoordelijkheden voor zijn rekening neemt. Het vastleggen en terughalen van state, het publiceren en consumeren van messages of events. Het lezen van secrets en configuratiedata. Het afschermen van en load balancen over service endpoints. Het aanroepen van en abonneren op allerlei SaaS en PaaS voorzieningen. Het loggen van traces over allerlei applicatiecomponenten en het logisch routeren van aanroepen tussen microservices en andere applicatiecomponenten. Dapr biedt generieke APIs aan de applicatie (HTTP en gRPC) voor het inroepen van al deze generieke diensten en biedt implementaties van deze APIs voor alle public clouds en tientallen technologiecomponenten. Dat betekent dat je applicatie op eenvoudige manier van een breed scala aan relevante voorzieningen gebruik kan maken. Met een strikte scheiding tussen de de taal die de applicatie daarvoor gebruikt (generiek, simpel) en de configuratie van de specifieke technologie (bijvoorbeeld Redis, MySQL, CosmosDB, Cassandra, PostgreSQL, Oracle Database, MongoDB, Azure SQL etc) waarvan de Dapr sidecar gebruik maakt. Veranderen van technologie raakt de applicatie niet, maar raakt de configuratie van de Sidecar. Dapr kan je gebruiken vanuit applicaties in iedere technologie - van Java en C#/.NET tot Go, Python, Node, Rust en PHP. Of wat dan ook maar HTTP (of gRPC) kan praten.
Zie ook:
Dapr project website
Dapr.io in CNCF