AWS Certified Cloud Practitioner

Services d'intégration d'applications

Découvrez les services d'intégration d'applications AWS qui relient des composants découplés : Amazon SQS pour les files de messages, Amazon SNS pour la diffusion pub/sub, Amazon EventBridge pour le routage d'événements et AWS Step Functions pour l'orchestration de workflows.

Débutant 16 minutes 4 Objectifs d'apprentissage
  1. Expliquer pourquoi les services d'intégration d'applications aident à construire des systèmes découplés et pilotés par les événements
  2. Décrire ce que font Amazon SQS, Amazon SNS, Amazon EventBridge et AWS Step Functions
  3. Comparer une file de messages (SQS) et un sujet pub/sub (SNS)
  4. Associer un besoin d'intégration décrit au bon service AWS

Pourquoi c'est important

Une application moderne est rarement un seul programme. C'est un ensemble de petites parties qui se passent du travail : une couche web reçoit une commande, un autre composant débite la carte, un troisième met à jour le stock, et un quatrième envoie un e-mail. Si ces parties s'appellent directement, un composant lent ou en panne peut figer tout le système.

Les services d'intégration d'applications règlent ce problème. Ils laissent les parties d'une application se parler sans être étroitement liées, ce qu'on appelle le découplage. Les composants échangent des messages ou des événements via un service managé au lieu de s'appeler directement, donc une partie peut tomber en panne, ralentir ou monter en charge de son côté sans casser le reste. L'examen CLF-C02 teste 4 de ces services au niveau de la reconnaissance : Amazon SQS, Amazon SNS, Amazon EventBridge et AWS Step Functions. Votre travail consiste à associer un besoin décrit au bon service.

Amazon SQS : les files de messages

Amazon Simple Queue Service (Amazon SQS) est une file de messages entièrement managée. Un producteur dépose des messages dans la file, et un consommateur les récupère pour les traiter un par un, à son propre rythme. La file garde les messages entre les deux, donc le producteur et le consommateur n'ont jamais besoin d'être disponibles au même moment.

C'est la façon classique de découpler un front-end rapide d'un traitement plus lent à l'arrière. Imaginez un site qui accepte des envois de photos. Au lieu de faire attendre l'utilisateur pendant le redimensionnement de chaque photo, le site dépose un message dans une file SQS et répond aussitôt. Un worker séparé lit la file et redimensionne les photos quand il le peut. Si le worker prend du retard ou redémarre, les messages attendent en sécurité dans la file.

SQS propose 2 types de files à reconnaître par leur nom :

  • Les files standard offrent un débit maximal et une livraison au moins une fois, avec un ordre au mieux.
  • Les files FIFO (premier entré, premier sorti) garantissent que les messages sont traités exactement une fois, dans l'ordre exact où ils ont été envoyés.

Voyez SQS comme du point à point : chaque message est destiné à un seul consommateur.

Amazon SNS : la diffusion pub/sub

Amazon Simple Notification Service (Amazon SNS) est un service de messagerie publish/subscribe (pub/sub) managé. Les éditeurs envoient des messages à un sujet, et le sujet pousse une copie de chaque message vers chaque abonné. C'est du plusieurs-à-plusieurs, ou fan-out : un message atteint plusieurs destinations à la fois.

Les abonnés peuvent être des files SQS, des fonctions AWS Lambda, des points de terminaison HTTP/S, et même des utilisateurs finaux par SMS, e-mail et notification push mobile. SNS est donc le service à choisir quand un seul événement doit déclencher plusieurs réactions en parallèle, ou quand vous devez envoyer des notifications à des personnes.

Une conception très courante associe SNS et SQS. L'éditeur envoie un message à un sujet SNS, et le sujet le livre à plusieurs files SQS. Chaque file alimente un consommateur différent, donc la facturation, l'expédition et l'analytique réagissent toutes au même événement de commande sans rien savoir les unes des autres.

Le moyen le plus rapide de distinguer SNS et SQS : SQS est une file qu'un consommateur vient lire, alors que SNS pousse chaque message vers plusieurs abonnés.

Amazon EventBridge : le bus d'événements

Amazon EventBridge est un bus d'événements serverless. Un bus d'événements reçoit un flux d'événements et route chacun vers le bon endroit selon des règles que vous définissez. Une règle filtre les événements par leur contenu, puis envoie les événements correspondants vers une ou plusieurs cibles, comme une fonction Lambda, une file SQS ou Step Functions.

Ce qui distingue EventBridge, c'est l'origine des événements. Il peut recevoir des événements de vos propres applications, de nombreux services AWS, et d'applications SaaS tierces comme Zendesk ou Shopify. C'est donc le choix naturel pour construire des systèmes pilotés par les événements qui réagissent à l'activité d'outils que vous ne contrôlez pas.

Une façon simple de retenir la distinction : SNS diffuse un message à ses abonnés, alors qu'EventBridge inspecte chaque événement et le route selon des règles, y compris des événements venant de partenaires SaaS.

AWS Step Functions : orchestrer les workflows

Les 3 premiers services déplacent des messages ou des événements individuels. AWS Step Functions est différent : il coordonne toute une suite d'étapes sous forme d'un seul workflow.

Vous définissez les étapes comme un workflow visuel (une machine à états), et Step Functions les exécute dans l'ordre, passe les données d'une étape à la suivante, relance les étapes qui échouent et suit l'état de tout le processus. C'est de l'orchestration. Cela convient à tout travail en plusieurs étapes où l'ordre et le traitement des erreurs comptent, comme traiter une commande, exécuter un pipeline de données ou valider une demande.

Imaginez un workflow de commande : valider le paiement, puis réserver le stock, puis envoyer une confirmation. Si la réservation du stock échoue, Step Functions peut la relancer ou bifurquer vers un autre chemin, sans que vous écriviez la tuyauterie pour suivre où en est le processus.

Les comparer côte à côte

ServiceCe que c'estÀ choisir quand
Amazon SQSFile de messages managée (mode pull)Vous devez découpler des composants et laisser un consommateur traiter les messages à son rythme
Amazon SNSMessagerie pub/sub (mode push)Un message doit être diffusé vers plusieurs abonnés, ou vous devez notifier des personnes par SMS, e-mail ou push
Amazon EventBridgeBus d'événements serverlessVous devez router des événements selon des règles, surtout depuis des services AWS ou des applications SaaS
AWS Step FunctionsOrchestration de workflowsVous devez exécuter un processus en plusieurs étapes dans l'ordre, avec relances et traitement des erreurs

Points clés pour l'examen

  • Les services d'intégration d'applications existent pour découpler les parties d'une application afin qu'elles tombent en panne et montent en charge de façon indépendante.
  • Amazon SQS est une file de messages. Un seul consommateur récupère chaque message. Les files standard privilégient le débit, les files FIFO garantissent l'ordre et le traitement exactement une fois.
  • Amazon SNS fait du pub/sub. Il diffuse un message vers plusieurs abonnés (files SQS, Lambda, HTTP, SMS, e-mail, push). SNS plus SQS est le motif fan-out classique.
  • Distinguez SQS et SNS : SQS est une file qu'un consommateur lit, SNS pousse vers plusieurs abonnés à la fois.
  • Amazon EventBridge est un bus d'événements serverless qui route les événements selon des règles et peut ingérer des événements d'applications SaaS.
  • AWS Step Functions orchestre des workflows en plusieurs étapes avec ordre, relances et traitement des erreurs intégrés. Choisissez-le quand un scénario décrit la coordination de plusieurs étapes.