API de microservices avec Dapr

Azure Container Apps fournit des API avec Distributed Application Runtime (Dapr) qui vous aident à écrire et à implémenter des microservices simples, portables, résilients et sécurisés. Dapr fonctionne conjointement avec Azure Container Apps en tant que couche d’abstraction pour fournir une plateforme à faible maintenance et évolutive. Azure Container Apps offre une sélection d’API, de composants et de fonctionnalités Dapr complètement managés, conçus spécifiquement pour des scénarios de microservices. Activez et configurez Dapr comme toujours dans votre environnement d’application conteneur.

Fonctionnement des API de microservices avec votre application conteneur

Configurez les API de microservices pour l’environnement de votre applications conteneur avec une application conteneur avec Dapr, un composant Dapr configuré pour votre solution et un side-car Dapr appelant la communication entre eux. Le diagramme suivant montre ces principaux concepts en utilisant l’API d’abonnement/de publication comme exemple.

Diagramme illustrant la fonction pub/sub de Dapr et son fonctionnement dans 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.

Outils, composants et API Dapr pris en charge

API gérées

Azure Container Apps propose des API Dapr managées en disponibilité générale (blocs de construction). Ces API sont complètement managées et prises en charge pour une utilisation dans des environnements de production.

Si vous souhaitez découvrir plus d’informations sur l’utilisation des fonctionnalités et API Dapr alpha, consultez le FAQ de Dapr.

Diagramme montrant des API Dapr.

API Statut Description
Appel de service à service GA Découvrez les services et effectuez des appels fiables et directs de service à service avec authentification et chiffrement automatiques mTLS. Consultez les limitations connues pour l’appel de service Dapr dans Azure Container Apps.
Gestion de l’état GA Fournit des capacités de gestion d'état pour les transactions et les opérations CRUD.
Publication/abonnement GA Permet aux applications de conteneur de l'éditeur et de l'abonné de communiquer entre elles via un courtier de messages intermédiaire. Vous pouvez également créer des abonnements déclaratifs à une rubrique à l’aide d’un fichier JSON de composant externe. Découvrez plus en détail l’API pub/sub déclarative.
Liaisons GA Déclencher vos applications en fonction des événements
Acteurs GA 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é GA Envoyez des informations de suivi à un backend Application Insights.
Secrets GA Accédez aux secrets de votre code d’application ou référencez des valeurs sécurisées dans vos composants Dapr.
Configuration GA Récupérez et abonnez-vous aux éléments de configuration d’application pour les magasins de configuration pris en charge.

Kit de développement logiciel (SDK) compatibles

Les derniers packages de Kit de développement logiciel (SDK) client de Dapr sont compatibles avec Azure Container Apps. Vous pouvez utiliser l’une des API Dapr en disponibilité générale et prises en charge avec les versions de Kit de développement logiciel (SDK) client Dapr suivantes :

Langage Version du SDK
Java 1.12.0
Go 1.11.0
Python 1.14.0
.NET 1.14.0
JavaScript 3.3.1
Rust 0.15.1

Remarque

Actuellement, les packages de Kit de développement logiciel (SDK) de flux de travail, intervenants et extensions de serveur Dapr ne sont pas compatibles avec Azure Container Apps. Découvrez plus d’informations sur tous les packages de Kit de développement logiciel (SDK) Dapr.

Composants de niveau 1 et de niveau 2

Un sous-ensemble de composants Dapr est pris en charge. Dans ce sous-ensemble, les composants Dapr sont divisés en deux catégories de prise en charge : niveau 1 ou niveau 2.

  • Composants de niveau 1 : composants stables qui reçoivent une investigation immédiate dans les scénarios critiques (de sécurité ou de régression grave). Dans le cas contraire, Microsoft collabore avec open source pour s’adresser à un correctif logiciel ou à la prochaine version régulière.
  • Composants de niveau 2 : composants examinés sur une priorité moindre, car ils ne sont pas dans un état stable ou sont avec un fournisseur tiers.

Composants de niveau 1

API Composant Type
Gestion de l’état Azure Cosmos DB
Stockage Blob Azure v1
Azure Table Storage
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Publication et abonnement files d’attente Azure Service Bus
Rubriques Azure Service Bus
Azure Event Hubs
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Liaison files d’attente de stockage Azure
files d’attente Azure Service Bus
Stockage Blob Azure
Azure Event Hubs
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Gestion des secrets Azure Key Vault secretstores.azure.keyvault

Composants de niveau 2

API Composant Type
Gestion de l’état PostgreSQL
MySQL et MariaDB
Redis
state.postgresql
state.mysql
state.redis
Publication et abonnement Apache Kafka
Flux Redis
pubsub.kafka
pubsub.redis
Liaison Azure Event Grid
Azure Cosmos DB
Apache Kafka
PostgreSQL
Redis
Cron
bindings.azure.eventgrid
bindings.azure.cosmosdb
bindings.kafka
bindings.postgresql
bindings.redis
bindings.cron
Configuration PostgreSQL
Redis
configuration.postgresql
configuration.redis

Outillage

Azure Container Apps veille à la compatibilité via des outils open source Dapr tels que des Kits de développement logiciel (SDK) et l’interface CLI.

Limites

  • Spécification de configuration Dapr : toutes les fonctionnalités qui nécessitent l’utilisation de la spécification de configuration Dapr.
  • Toutes les annotations side-car Dapr non répertoriées dans le guide d’activation Dapr
  • Prise en charge des composants et des API : seuls les composants et API Dapr répertoriés en tant que Disponibilité générale, Niveau 1 ou Niveau 2 dans cet article sont pris en charge dans Azure Container Apps.
  • Rappels d’acteur : exigez un minReplicas de 1+ pour garantir que les rappels sont toujours actifs et correctement déclenchés.
  • Travaux : Dapr n’est pas pris en charge pour les travaux.

Étapes suivantes