Explorer l’intégration de Dapr à Azure Container Apps
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
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.
É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.