Idées de solution
Cet article présente une idée de solution. Votre architecte cloud peut s’appuyer sur ces conseils pour visualiser les principaux composants d’une implémentation typique de cette architecture. Utilisez cet article comme point de départ pour concevoir une solution bien conçue qui répond aux exigences spécifiques de votre charge de travail.
Cet article décrit une variante d’une architecture serverless basée sur les événements qui s’exécute sur Azure Kubernetes Service (AKS) avec l’outil de mise à l’échelle KEDA. La solution ingère un flux de données, traite les données, puis écrit les résultats dans une base de données back-end.
Architecture
Téléchargez un fichier Visio de cette architecture.
Dataflow
- AKS est utilisé avec l’outil de mise à l’échelle KEDA pour automatiquement mettre à l’échelle les conteneurs Azure Functions selon le nombre d’événements à traiter.
- Les événements arrivent au Event Hub d’entrée.
- La fonction Azure de dégroupement et de filtrage est déclenchée pour gérer l’événement. Cette étape filtre les événements indésirables et dégroupe les événements reçus avant de les envoyer au hub d’événements de sortie.
- Si la fonction Azure de dégroupement et de filtrage ne parvient pas à stocker l’événement correctement, ce dernier est envoyé au Event Hub de lettres mortes 1.
- Les événements arrivant au Event Hub de sortie déclenchent la fonction Azure de transformation. Cette fonction Azure transforme l’événement en message pour l’instance Azure Cosmos DB.
- L’événement est stocké dans une base de données Azure Cosmos DB.
Composants
- Azure Kubernetes Service (AKS) simplifie le déploiement d’un cluster Kubernetes managé dans Azure en déchargeant la surcharge opérationnelle sur Azure. En tant que service Kubernetes hébergé, Azure gère des tâches critiques telles que l’analyse de l’intégrité et la maintenance.
- KEDA est un outil de mise à l’échelle automatique basé sur les événements, qui est utilisé pour mettre à l’échelle les conteneurs d’un cluster Kubernetes en fonction du nombre d’événements à traiter.
- Event Hubs ingère le flux de données. Event Hubs est conçu pour les scénarios de diffusion de données à débit élevé.
- Azure Functions est une solution de calcul serverless. Cette application utilise un modèle événementiel, dans lequel un morceau de code (une fonction) est invoqué par un déclencheur.
- Azure Cosmos DB est un service de base de données multimodèle qui est disponible en mode serverless et basé sur la consommation. Pour ce scénario, la fonction de traitement d’événements stocke les enregistrements JSON à l’aide d’Azure Cosmos DB for NoSQL.
Notes
Pour les scénarios IoT (Internet des objets), nous recommandons Azure IoT Hub. IoT Hub a un point de terminaison intégré qui est compatible avec l’API Azure Event Hubs ; vous pouvez donc utiliser l’un ou l’autre service dans cette architecture sans aucune modification majeure dans le traitement back-end. Pour plus d’informations, consultez Connexion des appareils IoT à Azure : IoT Hub et Event Hubs.
Détails du scénario
Cet article décrit une architecture serverless basée sur les événements qui s’exécute sur AKS avec l’outil de mise à l’échelle KEDA. La solution ingère un flux de données, traite les données, puis écrit les résultats dans une base de données back-end.
Cas d’usage potentiels
Un cas d’usage courant pour implémenter un modèle de traitement de flux d’événements de bout en bout inclut le service d’ingestion de streaming Event Hubs pour recevoir et traiter des événements par seconde en utilisant une logique de dégroupement et de transformation implémentée avec des fonctions hautement évolutives déclenchées par un Event Hub.
Contributeurs
Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.
Auteur principal :
- Rajasa Savant | Ingénieur de développement logiciel senior
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.