Explorer l’intégration de Dapr à Azure Container Apps

Effectué

Le Distributed Application Runtime (Dapr) est un ensemble de fonctionnalités adoptables de manière incrémentielle qui simplifie la création d'applications distribuées basées sur des microservices. Dapr fournit des capacités permettant l’intercommunication des applications, par messagerie via pub/sub ou par des appels de service à service fiables et sécurisés.

Dapr est un projet open source CNCF (Cloud Native Computing Foundation). Le CNCF fait partie de la Fondation Linux et fournit un support, une surveillance et une direction pour les projets natifs cloud en pleine croissance. En guise d’alternative au déploiement et à la gestion du projet Dapr OSS vous-même, la plateforme Container Apps :

  • fournit une intégration Dapr gérée et prise en charge ;
  • gère les mises à niveau de la version Dapr en toute transparence ;
  • expose un modèle d’interaction Dapr simplifié pour augmenter la productivité des développeurs.

API Dapr

Capture d’écran de Decorative.

API Dapr Description
Appel de service à service Découvrez les services et effectuez des appels fiables et directs de service à service avec authentification et chiffrement automatiques mTLS.
Gestion de l’état Fournit des capacités de gestion d'état pour les transactions et les opérations CRUD.
Publication/abonnement Permet aux applications de conteneur de l'éditeur et de l'abonné de communiquer entre elles via un courtier de messages intermédiaire.
Liaisons Déclencher vos applications en fonction des événements
Acteurs Les intervenants Dapr sont pilotés par des messages, monothreads, unités de travail conçus pour effectuer une mise à l’échelle rapide. Par exemple, dans des situations de charge de travail volumineuses en rafale.
Observabilité Envoyez des informations de suivi à un backend Application Insights.
Secrets Accédez aux secrets de votre code d’application ou référencez des valeurs sécurisées dans vos composants Dapr.
Configuration Récupérez et abonnez-vous aux éléments de configuration d’application pour les magasins de configuration pris en charge.

Remarque

Le tableau couvre les API Dapr stables. Pour en savoir plus sur l’utilisation des API et des fonctionnalités alpha, consultez Limitations.

Concepts fondamentaux de Dapr

L’exemple suivant basé sur l’API Pub/sub est utilisé pour illustrer les concepts fondamentaux liés à Dapr dans Azure Container Apps.

Diagramme montrant l’API pub/sub Dapr et son fonctionnement dans les applications conteneurisées.

Étiquette Paramètres Dapr Description
1 Container Apps avec Dapr activé Dapr est activé au niveau de l'application conteneur par la configuration d’un ensemble d’arguments Dapr. Ces valeurs s’appliquent à toutes les révisions d’une application conteneur donnée lors de l’exécution en mode de révisions multiples.
2 Dapr Les API Dapr complètement managées sont exposées à chaque application conteneur via un side-car Dapr. Les API Dapr peuvent être appelées à partir de votre application conteneur via HTTP ou gRPC. Le side-car Dapr s’exécute sur le port HTTP 3500 et le port gRPC 50001.
3 Configuration des composants Dapr Dapr utilise une conception modulaire où la fonctionnalité est fournie en tant que composant. Les composants Dapr peuvent être partagés par plusieurs applications conteneur. Les identificateurs d’application Dapr fournis dans le tableau d’étendues dictent les applications conteneur compatibles dapr qui chargeront un composant donné au moment de l’exécution.

Activation de Dapr

Vous pouvez configurer Dapr à l’aide de différents arguments et annotations en fonction du contexte d’exécution. Azure Container Apps fournit trois canaux via lesquels vous pouvez configurer Dapr :

  • Interface CLI de Container Apps
  • Modèles Infrastructure as Code (IaC), comme dans les modèles Bicep ou Azure Resource Manager (ARM)
  • Le portail Azure

Composants et étendues Dapr

Dapr utilise une conception modulaire où la fonctionnalité est fournie en tant que composant. L’utilisation des composants Dapr est facultative et dictée exclusivement par les besoins de votre application.

Les composants Dapr dans les applications conteneur sont des ressources au niveau de l’environnement qui :

  • peuvent fournir un modèle d’abstraction enfichable pour la connexion à des services externes de prise en charge ;
  • peuvent être partagés entre les applications conteneur ou étendus à des applications conteneur spécifiques ;
  • peuvent utiliser des secrets Dapr pour récupérer en toute sécurité des métadonnées de configuration.

Par défaut, toutes les applications de conteneur compatibles avec Dapr dans le même environnement chargeront l’ensemble des composants déployés. Pour garantir que les composants sont chargés au moment de l’exécution uniquement par les applications conteneur appropriées, des étendues d’application doivent être utilisées.