Dapr 1.0 : un outil Microsoft open source pour créer des microservices résilients

Par:
fredericmazue

ven, 26/02/2021 - 15:28

Ecrire une application distribuée haute performance, évolutive et fiable est difficile. Pour aider les développeurs dans cette tâche, Microsoft propose Dapr. Le développement de Darp a été initié en octobre 2019 et 14 versions préliminaires sont sorties depuis cette date. Dapr vient finalement d'être publié en version 1.0 finale.

Dapr n'est pas développé que par Microsoft, mais a réuni toute une communauté autour de lui. Dès octobre 2019, il y avait 114 contributeurs à Dapr. Il y en a aujourd'hui 700.

Dapr est un environnement d'exécution portable, sans serveur et piloté par les événements qui permet aux développeurs de créer facilement des microservices résilients, sans état et avec état, qui s'exécutent sur le cloud ou sur site et qui englobent la diversité des langages et des cadres de développement.

Dapr codifie les meilleures pratiques pour créer des applications de microservices en blocs de construction ouverts et indépendants qui vous permettent de créer des applications portables avec le langage et le framework de votre choix. Chaque bloc de construction est indépendant et vous pouvez en utiliser un, certains ou tous dans votre application.

Dapr injecte un side-car (conteneur ou processus) dans chaque unité de calcul. Le side-car interagit avec les déclencheurs d'événements et communique avec l'unité de calcul via les protocoles HTTP ou gRPC standard. Cela permet à Dapr de prendre en charge tous les langages de programmation existants et futurs sans vous obliger à importer des frameworks ou des bibliothèques.

Dapr offre une gestion d'état intégrée, une messagerie fiable, des déclencheurs et des liaisons via des verbes HTTP standard ou des interfaces gRPC. Cela vous permet d'écrire des services sans état, avec état et de type acteur suivant le même paradigme de programmation. Vous pouvez choisir librement le modèle de cohérence, le modèle de thread et les modèles de livraison des messages.

Dapr s'exécute nativement sur Kubernetes, en tant que binaire auto-hébergé sur votre machine, sur un appareil IoT ou en tant que conteneur pouvant être injecté dans n'importe quel système, dans le cloud ou sur site. Ces SDK permettent au développeur d'utiliser son environnement de développement préféré tel que VS Code ou IntelliJ. 

Même si Dapr est conçu pour être utilisé à partir de n'importe quel langage de programmation sur les protocoles HTTP et gRP, des SDK pour Java, Python, .NET et Go sont proposés. Des SDK pour JavaScript / Node.js, C ++, Rust et PHP existent en préversion et seront prochainement finalisés.

Enfin, dans sa version v1.0, Dapr s'est intégré à plusieurs frameworks de développement, notamment ASP.NET Core, Java Spring Boot, Azure Functions et Logic Apps. L'intégration avec d'autres frameworks est envisagée poor l'avenir, dont les frameworks Django, Nodejs et Kyma 

Dapr est un logiciel libre sous licence MIT, disponible sur GitHub.  Un guide de démarrage et des exemples sont également disponibles sur GitHub.