Microsoft AZ-305: Architecture d'intégration et de messagerie — Guide d'étude
Fait partie du Microsoft Azure Solutions Architect Expert AZ-305 — Guide d’étude. Entraînez-vous avec des réponses vérifiées dans le centre d’examens Microsoft, ou passez des tests chronométrés sur ExamRoll.io.
Aperçu
L’architecture d’intégration et de messagerie sur Azure repose sur la sélection du service approprié pour les sémantiques de mouvement des commandes, des événements et des données ; la conception pour la fiabilité, l’ordonnancement et la mise à l’échelle ; et l’intégration sécurisée des systèmes hybrides. Les briques de base incluent Azure Service Bus pour la messagerie d’entreprise avec des brokers riches en fonctionnalités, Azure Event Grid pour le routage d’événements réactif, Azure Event Hubs pour l’ingestion de flux à haut débit, et Storage Queues pour la mise en file d’attente simple. Autour de ceux-ci se trouvent Azure Logic Apps pour l’automatisation des processus, API Management pour la gouvernance et l’expérience développeur, Azure Data Factory pour l’ETL/ELT, Azure Relay pour la connectivité sur site compatible avec les pare-feux, et Azure Notification Hubs pour les notifications push mobiles. Une conception solide utilise le bon service pour la tâche, modélise explicitement les contrats et les modes de défaillance, et applique des modèles d’orchestration ou de chorégraphie le cas échéant.
Messagerie et gestion d’événements sur Azure
Azure Service Bus est le broker d’entreprise pour les commandes et les workflows qui nécessitent une livraison ordonnée, des transactions, un ordre FIFO au sein de groupes et la gestion des lettres mortes. Les files d’attente (Queues) assurent une messagerie point à point entre un producteur et un groupe de consommateurs concurrents. Les rubriques (Topics) permettent un modèle pub/sub avec plusieurs abonnements indépendants qui peuvent filtrer et router les messages à l’aide de filtres et d’actions de type SQL. Les sessions de message regroupent les messages associés sous un sessionId, permettant un traitement FIFO et avec état par groupe ; le verrou de session garantit qu’un seul consommateur traite une session à la fois. Les files d’attente de lettres mortes capturent les messages incohérents (poison messages) lorsque le nombre maximal de tentatives de livraison est dépassé, que le TTL expire, ou lorsqu’ils sont explicitement mis en lettre morte, permettant une mise en quarantaine et une inspection ultérieure ; chaque file d’attente ou abonnement a une sous-file d’attente $DeadLetterQueue. Les transactions permettent des opérations atomiques d’envoi/réception/achèvement sur plusieurs entités au sein du même espace de noms, garantissant, par exemple, qu’un message n’est achevé que si les messages suivants sont envoyés avec succès (la fonctionnalité send-via prend en charge les workflows inter-entités).
Azure Event Grid est un routeur d’événements entièrement géré pour les modèles réactifs basés sur le push. Il utilise soit le schéma natif Event Grid, soit CloudEvents 1.0. Les abonnements aux événements ciblent des points de terminaison tels que Functions, Logic Apps, Service Bus, Event Hubs, WebHooks et Storage Queues, avec des filtres par sujet et des filtres avancés pour réduire le bruit. La livraison est de nouveau tentée avec un backoff exponentiel ; les abonnements prennent en charge une politique de nouvelle tentative configurable (nombre maximal de tentatives de livraison et durée de vie de l’événement) et peuvent mettre en lettre morte les événements non livrables dans un compte de stockage. La validation par handshake sécurise les points de terminaison WebHook, et les identités managées simplifient la publication et la livraison vers les points de terminaison Azure.
Azure Event Hubs ingère la télémétrie et les données de streaming à très grande échelle avec des journaux partitionnés. Les partitions fournissent le parallélisme et l’ordonnancement au sein d’une partition ; choisissez une clé de partition pour maintenir l’ordre des événements liés. Le nombre de partitions détermine la mise à l’échelle et ne peut pas être réduit après la création, il faut donc le dimensionner pour le débit futur. Les groupes de consommateurs fournissent des vues indépendantes du flux d’événements pour différentes applications sans interférer avec les offsets des autres. La fonctionnalité Capture décharge les données de manière persistante vers Azure Blob Storage ou Data Lake Storage en quasi-temps réel en fonction de fenêtres de temps/taille, généralement au format Avro, permettant des analyses par lots sans impacter l’ingestion. Le Schema Registry intégré stocke les schémas Avro/JSON avec une gestion des versions et des politiques de compatibilité, permettant aux producteurs et aux consommateurs de valider et de faire évoluer les contrats en toute sécurité.
Storage Queues offre une livraison au moins une fois, simple et rentable, avec des délais d’invisibilité et une gestion de base des lettres mortes via le TTL des messages et une gestion des messages incohérents gérée par l’application. Elles ne disposent pas de transactions, de sessions ou de routage avancé, mais excellent pour le découplage de base et la diffusion à grande échelle (fan-out) à faible coût.
Quand choisir quel service :
- Utilisez Service Bus pour les commandes, les workflows et les scénarios d’intégration nécessitant le FIFO (via les sessions), les transactions, le report, la détection des doublons et l’audit des lettres mortes.
- Utilisez Event Grid pour les notifications légères, basées sur le push et à grande diffusion (fan-out) provenant de services Azure ou d’applications personnalisées, avec un filtrage fin et des réactions en quasi-temps réel.
- Utilisez Event Hubs pour l’ingestion de télémétrie et de journaux en streaming à haut débit, avec des consommateurs indépendants et des analyses en aval.
- Utilisez Storage Queues pour un découplage simple producteur/consommateur où les fonctionnalités de broker avancées ne sont pas nécessaires et où la simplicité des coûts est primordiale.
Intégration, API et connectivité hybride
Azure Logic Apps fournit une automatisation de workflow gérée avec des centaines de connecteurs. En mode Consommation (multi-locataire), vous payez par action avec une mise à l’échelle automatique et des connecteurs multi-locataires ; idéal pour une utilisation en rafale. Le mode Standard (mono-locataire) s’exécute sur le runtime Functions avec des workflows avec état/sans état (stateful/stateless), un débit plus élevé, des connecteurs personnalisés et des connecteurs intégrés s’exécutant en mémoire (in-process), la conteneurisation, le développement local et l’intégration VNET/point de terminaison privé ; idéal pour l’isolement d’entreprise et une capacité prévisible. L’Integration Service Environment (ISE) est un cachet (stamp) dédié hérité pour le réseau privé et la localité des données ; les nouvelles conceptions préfèrent généralement Logic Apps Standard avec l’intégration VNET ou un déploiement sur App Service Environment v3.
Azure API Management (APIM) fournit une couche d’abstraction et de gouvernance pour les API. Les stratégies (policies) s’appliquent aux étapes d’entrée (inbound), de backend et de sortie (outbound) pour mettre en œuvre des préoccupations transversales telles que validate-jwt, rate-limit-by-key, quota, set-header, retry, cache-lookup/store, et set-backend-service pour le routage dynamique. Les produits regroupent une ou plusieurs API, encapsulent le comportement des stratégies et peuvent être publiés pour des groupes spécifiques. Les abonnements émettent des clés par consommateur ou par produit pour mesurer et contrôler l’accès ; les clés peuvent être renouvelées (rotated) et liées à des quotas. Le portail des développeurs permet la découverte en libre-service, la documentation, les tests (« try-it ») et les workflows d’intégration (onboarding), tandis que la passerelle auto-hébergée (self-hosted gateway) permet des déploiements hybrides de plan de contrôle/périphérie (edge) pour les environnements sur site (on-prem) ou d’autres clouds.
Azure Relay permet la connectivité entrante vers des services sur site (on-prem) sans ouvrir de ports de pare-feu entrants. Hybrid Connections utilise des WebSockets sur TLS 443 pour une communication de socket bidirectionnelle à usage général, initiée en sortie depuis l’environnement sur site et depuis les clients vers le Relay, utile pour HTTP et les protocoles arbitraires encapsulés sur des WebSockets. WCF Relay expose les points de terminaison WCF sur site (NetTcp/HTTP) via le relais avec une sécurité au niveau du transport ou du message et un accès basé sur les revendications (claims) ; c’est idéal pour les services WCF existants nécessitant une exposition sécurisée et compatible avec les pare-feu.
Azure Notification Hubs est un courtier de notifications push multiplateforme qui abstrait les systèmes de notification de plateforme (APNs pour iOS, FCM pour Android, WNS pour Windows, ADM pour Amazon). Les backends enregistrent les appareils ou les installations avec des balises (tags) et des modèles (templates) pour cibler et personnaliser les notifications à grande échelle. Des informations d’identification de plateforme sont requises par PNS : clé p8 ou certificat APNs, clé/identifiants de serveur FCM, SID de package/secret WNS. Notification Hubs gère la distribution en éventail (fan-out), la limitation (throttling) et la gestion des jetons (tokens) afin que le code de l’application reste agnostique vis-à-vis des PNS.
Déplacement de données et analytique en streaming
Azure Data Factory (ADF) orchestre l’intégration de données à travers des parcs hybrides. Les runtimes d’intégration (IR) hébergent la puissance de calcul (compute) pour les activités : Azure IR pour la copie sans serveur (serverless) et les flux de données au sein d’Azure, Self-hosted IR pour le déplacement de données/calcul au sein de réseaux privés sans ouvrir de ports entrants, et Azure-SSIS IR pour migrer (« lift-and-shift ») des packages SSIS vers des clusters gérés. Les pipelines orchestrent les activités avec un flux de contrôle (dépendances, boucles, branches, déclencheurs) et un paramétrage pour la réutilisation. Les Mapping Data Flows fournissent des transformations sans code basées sur Spark à grande échelle, avec une gestion de la dérive de schéma (schema drift) et des contrôles de partitionnement ; à utiliser lorsque les transformations sont complexes mais que vous souhaitez une puissance de calcul gérée. Les services liés (Linked services) définissent les métadonnées de connexion et les informations d’identification pour les sources, les récepteurs (sinks) et le calcul ; les jeux de données (datasets) et les sources/récepteurs de flux de données y font référence, permettant une réutilisation sécurisée et le RBAC.
Event Hubs s’intègre à l’analytique via la fonctionnalité Capture vers un stockage persistant, puis Azure Synapse ou Databricks peuvent traiter les fichiers Avro en micro-lots. Schema Registry simplifie la désérialisation et l’évolution dans les tâches de streaming en centralisant les contrats, évitant ainsi un typage implicite et fragile entre les producteurs et les consommateurs.
Fiabilité et modèles événementiels
La conception pour la fiabilité commence par une gestion explicite des défaillances. Service Bus fournit des files d’attente de lettres mortes (DLQ) par entité ; les consommateurs doivent surveiller et trier ces DLQ, avec la possibilité de les transférer automatiquement vers des files d’attente d’analyse. Utilisez la détection des doublons et des gestionnaires idempotents pour éviter le double traitement. Tirez parti des transactions pour régler atomiquement les réceptions et envoyer les messages sortants (outbox), et utilisez les sessions pour un traitement ordonné par entité métier tout en scalant sur plusieurs sessions. La politique de nouvelle tentative d’Event Grid utilise un backoff exponentiel avec des limites configurables ; configurez la mise en lettre morte vers un compte Storage pour l’auditabilité et développez des outils de rejeu (replay). Event Hubs garantit une livraison « au moins une fois » (at-least-once) ; le checkpointing via les SDK (ou les déclencheurs Azure Functions) assure le suivi de la progression par partition/groupe de consommateurs. Les Storage Queues reposent sur des délais de visibilité et des modèles de messages incohérents (poison messages) que vous implémentez explicitement.
L’architecture orientée événements utilise généralement la chorégraphie ou l’orchestration. La chorégraphie distribue la coordination entre les services qui réagissent aux événements de leurs pairs. Elle est faiblement couplée, scalable et résiliente aux pannes partielles, mais peut devenir difficile à visualiser et à gouverner, et les compensations sont dispersées. L’orchestration centralise le contrôle du flux dans un orchestrateur tel qu’Azure Durable Functions, Logic Apps ou un moteur de workflow, améliorant l’observabilité, la logique de timeout/compensation et les étapes d’intervention humaine (human-in-the-loop), au prix d’un couplage plus fort avec l’orchestrateur. Le patron de conception saga implémente des transactions de longue durée en plusieurs étapes avec des actions de compensation, au lieu de validations en deux phases (two-phase commits). En chorégraphie, chaque service écoute les événements de domaine et émet des compensations si nécessaire ; en orchestration, l’orchestrateur invoque des activités et déclenche des compensations en cas d’échec ou de timeout. Sur Azure, implémentez les sagas en utilisant Durable Functions (orchestration avec état, nouvelles tentatives, timeouts, modèles de compensation) avec Service Bus pour une livraison fiable des commandes, ou avec Logic Apps Standard pour des workflows d’entreprise robustes et des connecteurs intégrés.
Cas pratique
Contoso Retail modernise son traitement des commandes à travers un ERP sur site (on-prem), un site e-commerce, des applications mobiles et des systèmes d’analyse en aval. La solution doit prendre en charge les notifications aux partenaires, l’analyse de la télémétrie en temps réel, l’accès sécurisé aux systèmes sur site et les notifications push mobiles, avec un ordre de traitement strict et des compensations pour le paiement et l’inventaire.
- Ingestion et workflow de commandes
- Utiliser des topics Azure Service Bus pour les commandes. Les abonnements segmentent le traitement (Paiements, Inventaire, Expédition). Activer les sessions de message avec pour clé OrderId pour garantir un traitement FIFO par commande et une concurrence unique. Justification : Service Bus fournit les sessions, les transactions et les files d’attente de lettres mortes nécessaires aux workflows métier ordonnés et fiables.
- Orchestration et compensations
- Implémenter une saga avec Azure Durable Functions. Les activités appellent la passerelle de paiement, réservent l’inventaire et créent l’expédition ; les compensations remboursent ou réapprovisionnent en cas d’échec. Utiliser les déclencheurs (triggers) et les sorties (outputs) de Service Bus dans des portées transactionnelles pour finaliser atomiquement les messages entrants et publier les messages de suivi. Justification : L’orchestration centralisée simplifie la gestion des timeouts, des nouvelles tentatives et des compensations tout en préservant la fiabilité du broker.
- Notifications événementielles
- Publier les événements de domaine (OrderPlaced, OrderShipped) sur des rubriques (topics) personnalisées Azure Event Grid. Les partenaires et les applications internes s’abonnent avec des filtres par préfixe de sujet. Configurer la mise en lettre morte vers un compte Storage et une politique de nouvelle tentative avec un nombre d’essais limité. Justification : Event Grid offre une diffusion push à faible latence avec un filtrage fin et un audit des lettres mortes pour une distribution à grande échelle (fan-out).
- Streaming de télémétrie et analytique
- Envoyer le clickstream et la télémétrie des applications à Azure Event Hubs avec 8 partitions ayant pour clé la session utilisateur. Activer la fonction Capture vers Data Lake Storage toutes les 5 minutes ou tous les 100 Mo. Enregistrer les schémas Avro dans le Schema Registry et imposer la compatibilité des schémas. Justification : Event Hubs scale l’ingestion indépendamment des consommateurs ; la fonction Capture découple l’analytique ; le Schema Registry maintient la discipline des contrats de données.
- Intégration de données
- Utiliser Azure Data Factory avec un Self-hosted Integration Runtime sur site pour extraire les données de l’ERP de manière sécurisée, et un Azure IR pour déposer les données préparées dans Synapse. Construire des pipelines et des mapping data flows pour le traitement des SCD (Slowly Changing Dimensions) et l’enrichissement avec les fichiers de la fonction Capture d’Event Hubs. Justification : ADF orchestre le mouvement et les transformations de données hybrides avec un calcul managé et des connexions gouvernées via les services liés (linked services).
- API et gouvernance des partenaires
- Exposer tous les points de terminaison destinés aux partenaires via Azure API Management. Exposer les API de statut de commande et d’enregistrement de webhooks. Appliquer des stratégies (policies) : validate-jwt pour les jetons émis par les partenaires, rate-limit-by-key pour des limitations de débit plus strictes par partenaire, rewrite/set-backend-service pour router vers des Logic Apps existantes sans modification de code. Publier un produit pour les partenaires nécessitant des abonnements et des clés ; gérer leur intégration (onboarding) via le portail des développeurs. Justification : APIM applique la sécurité, la limitation de débit (throttling) et fournit un onboarding en libre-service sans toucher à la logique du backend.
- Automatisation des workflows et connecteurs
- Utiliser Azure Logic Apps Standard pour l’automatisation du back-office (par ex., envoyer des e-mails, mettre à jour Dynamics) avec des connecteurs intégrés et l’intégration VNET. Justification : Les performances en mode single-tenant, la connectivité privée et les connecteurs de niveau entreprise simplifient l’intégration avec les applications SaaS et métier (line-of-business).
- Connectivité hybride
- Exposer sélectivement les services de l’ERP sur site via Azure Relay WCF Relay pour les points de terminaison WCF existants et via Hybrid Connections pour les applications légères HTTP/WebSocket, évitant ainsi les modifications des règles de pare-feu entrantes. Justification : Relay fournit une connectivité sécurisée, initiée depuis le réseau sortant, sans la complexité d’un VPN.
- Notifications push mobiles
- Envoyer les mises à jour d’expédition via Azure Notification Hubs en utilisant des balises (tags) pour la segmentation par appareil/utilisateur et des modèles (templates) pour la localisation. Configurer les informations d’identification des jetons APNs et les clés FCM. Justification : Notification Hubs fait abstraction des différences entre les PNS (Platform Notification Services) et scale la livraison des notifications push.
Cette conception associe chaque exigence à des services spécialisés : Service Bus pour les commandes fiables, Durable Functions pour les sagas orchestrées, Event Grid pour les notifications push, Event Hubs + Capture + Schema Registry pour l’analytique en streaming, ADF pour l’ETL/ELT hybride, APIM pour la gouvernance, Logic Apps pour l’automatisation d’entreprise, Relay pour l’accès sur site, et Notification Hubs pour l’engagement mobile.
← Architecture de sécurité et Zero Trust · Tous les domaines · Surveillance →
Entraînez-vous sur ces questions → · Tests chronométrés sur ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Réussissez votre examen →