Dapr

Distributed Application Runtime (Dapr) propose des API qui vous aident à écrire et à implémenter des microservices simples, portables, résilients et sécurisés. En s’exécutant en tant que processus sidecar en parallèle avec vos applications, les API Dapr font abstraction des complexités courantes que vous pouvez rencontrer lorsque vous créez des applications distribuées, dont :

  • Détection du service
  • Intégration du répartiteur de messages
  • Chiffrement
  • Observabilité
  • Gestion des secrets

Dapr est adoptable en incréments. Vous pouvez utiliser n’importe quel bloc de construction d’API, le cas échéant.

Diagramme montrant la façon dont de nombreuses infrastructures de code différentes peuvent s’interfacer avec les divers modules de Dapr via HTTP ou gRPC.

Capacités et fonctionnalités

L’utilisation de l’extension Dapr pour approvisionner Dapr sur votre cluster Kubernetes AKS ou Arc élimine la surcharge de :

  • Téléchargement de l’outil Dapr
  • Installation et gestion manuelles du runtime Dapr sur votre cluster AKS

Vous pouvez installer, déployer et configurer l'extension Dapr sur votre cluster à l'aide d'Azure CLI ou d'un modèle Bicep.

En outre, l’extension assure la prise en charge de toutes les fonctionnalités de configuration Dapr natives à l’aide d’arguments de ligne de commande simples.

Dapr offre l’ensemble des capacités suivantes pour faciliter le développement de vos microservices sur AKS :

  • Approvisionnement facile de Dapr sur AKS grâce à des extensions de cluster
  • Portabilité assurée par les API HTTP et gRPC qui font abstraction des choix technologiques sous-jacents
  • Appels de service à service fiables, sécurisés et résilients via les API HTTP et gRPC
  • Messagerie publication-abonnement facilitée par la prise en charge du filtrage CloudEvent et de la sémantique « au moins une fois » pour la livraison des messages
  • Observabilité et surveillance enfichables grâce au collecteur de l’API Open Telemetry
  • Fonctionne indépendamment du langage, tout en offrant également des Kits de développement logiciel (SDK) spécifiques au langage
  • Intégration à VS Code grâce à l’extension Dapr
  • Plus d’API pour la résolution des problèmes liés aux applications distribuées

Forum aux questions

Quelles sont les différences entre Dapr et les maillages de services ?

R : Si un maillage de services est défini comme un maillage de services de mise en réseau, alors Dapr n’en est pas un. Bien que Dapr et les maillages de services offrent certaines capacités qui se chevauchent, un maillage de services est axé sur les préoccupations de mise en réseau, tandis que Dapr vise à fournir des modules qui permettent aux développeurs de créer plus facilement des applications sous forme de microservices. Dapr est centré sur le développeur, tandis que les maillages de services sont centrés sur l’infrastructure.

Voici quelques capacités communes à Dapr et aux maillages de services :

  • Communication sécurisée de service à service avec chiffrement mTLS
  • Collecte de métriques de service à service
  • Suivi distribué de service à service
  • Résilience grâce aux nouvelles tentatives

En outre, Dapr fournit d’autres modules au niveau de l’application pour la gestion de l’état, la messagerie publication-abonnement, les intervenants, etc. Toutefois, Dapr ne fournit pas de capacités pour le comportement du trafic, comme le routage ou la répartition du trafic. Si votre solution peut bénéficier de la répartition du trafic offerte par un maillage de services, envisagez d’utiliser Open Service Mesh.

Pour plus d’informations sur Dapr et les maillages de services, et sur la façon dont ils peuvent être utilisés ensemble, consultez la documentation de Dapr.

Quelles sont les différences entre l’API Dapr secrets et le pilote Secrets Store CSI ?

L’API Dapr secrets et le pilote Secrets Store CSI managé permettent tous deux d’intégrer des secrets détenus dans un magasin externe, en faisant abstraction de la technologie de magasin de secrets du code d’application. Le pilote Secrets Store CSI monte les secrets détenus dans Azure Key Vault sous la forme d’un volume CSI destiné à être consommé par une application. Dapr expose les secrets via une API RESTful qui peut être appelée par le code de l’application et peut être configurée avec des magasins de secrets assortis. Le tableau suivant présente les capacités de chaque offre :

API Dapr secrets Pilote CSI du magasin de secrets
Magasins de secrets pris en charge Variables d’environnement locales (pour le développement) ; fichier local (pour le développement) ; secrets Kubernetes ; gestionnaire de secrets AWS ; magasin de secrets Azure Key Vault ; Azure Key Vault avec identités managées sur Kubernetes ; gestionnaire de secrets GCP ; coffre HashiCorp Magasin de secrets Azure Key Vault
Accès aux secrets dans le code d’application Appeler l’API Dapr secrets Accéder au volume monté ou au contenu monté synchronisé en tant que secret Kubernetes et définir une variable d’environnement
Rotation des secrets De nouveaux appels d’API permettent d’obtenir les secrets mis à jour Interroge les secrets et met à jour le montage à un intervalle configurable
Journalisation et métriques Le side-car Dapr génère des journaux, qui peuvent être configurés avec des collecteurs tels qu’Azure Monitor, émet des métriques via Prometheus et expose un point de terminaison HTTP pour les contrôles d’intégrité Émet des métriques du pilote et du fournisseur Azure Key Vault via Prometheus

Pour plus d’informations sur la gestion des secrets dans Dapr, consultez la présentation du module de gestion des secrets.

Pour plus d’informations sur le pilote Secrets Store CSI et le fournisseur Azure Key Vault, consultez la présentation du pilote Secrets Store CSI.

Quelles sont les différences entre l’extension de cluster Dapr managée et l’offre Dapr open source ?

L’extension de cluster Dapr managée est la méthode la plus simple pour approvisionner Dapr sur un cluster AKS. Grâce à cette extension, vous pouvez vous décharger de la gestion de la version du runtime Dapr en choisissant des mises à jour automatiques. De plus, l’extension installe Dapr avec des valeurs par défaut intelligentes (par exemple, l’approvisionnement du plan de contrôle de Dapr en mode haute disponibilité).

Lors de l’installation du logiciel Open Source Dapr via Helm ou l’interface de ligne de commande de Dapr, les versions du runtime et les options de configuration sont de la responsabilité des développeurs et des éditeurs de logiciels des clusters.

Enfin, l’extension Dapr est une extension d’AKS, vous pouvez donc vous attendre à la même stratégie de support que les autres fonctionnalités d’AKS.

Apprenez-en davantage sur la migration de Dapr OSS vers l’extension Dapr pour AKS.

Comment puis-je authentifier des composants Dapr auprès de Microsoft Entra ID à l’aide d’identités managées ?

Comment passer à l’utilisation de l’extension Dapr si j’ai déjà installé Dapr à l’aide d’une méthode, par exemple Helm ?

Il est recommandé de désinstaller complètement Dapr du cluster AKS et de le réinstaller via l’extension du cluster.

Si vous installez Dapr par le biais de l’extension AKS, nous vous recommandons de continuer à utiliser l’extension pour la gestion future de Dapr au lieu de l’interface CLI Dapr. La combinaison des deux outils peut entraîner des conflits et un comportement indésirable.

Étapes suivantes

Après avoir découvert Dapr et certains des défis qu’il résout, essayez de déployer une application avec l’extension de cluster Dapr.