Troubleshooting Serverless Applications (French)
Offered By: Amazon Web Services via AWS Skill Builder
Course Description
Overview
Aperçu de l'atelier
Aperçu
Une API est un ensemble de composants liés entre eux en vue de créer une application. Cela facilite la mise à l'échelle, la gestion opérationnelle et la gestion du code de parties individuelles de l'application. La création d'API dans un environnement sans serveur vous permet de concevoir des composants optimisés pour fonctionner à grande échelle. Cela vous permet également de ne payer que les services que vous utilisez. Cela est très avantageux, néanmoins, les composants découplés dans un environnement cloud peuvent être difficiles à dépanner et à corriger en cas de problème. AWS propose plusieurs outils qui vous permettent de facilement identifier les problèmes.
Objectifs
À la fin de cet atelier, vous serez en mesure d'effectuer les opérations suivantes :
- Comprendre une architecture orientée événements
- Activer et utiliser AWS X-Ray et Amazon CloudWatch
- Comprendre comment AWS Step Functions est configuré pour orchestrer les applications sans serveur
- Tirer profit d'Amazon Simple Queue Service (Amazon SQS) et des files d'attente de lettres mortes
- Comprendre comment dépanner les architectures sans serveur
- Mettre à jour la configuration pour restaurer la fonctionnalité des API
Prérequis
Cet atelier nécessite les éléments suivants :
- Accès à un ordinateur portable doté d'une connexion Wi-Fi et exécutant Microsoft Windows, macOS ou Linux (Ubuntu, SuSE ou Red Hat)
- L'atelier n'est pas accessible depuis un iPad ou une tablette, mais vous pouvez utiliser ce type d'appareil pour accéder au guide de l'étudiant.
- Pour les utilisateurs Microsoft Windows : accès administrateur à l'ordinateur
- Navigateur Internet comme Chrome, Firefox ou Internet Explorer 9 (les versions précédentes d'Internet Explorer ne sont pas prises en charge)
Durée
Cet atelier dure 90 minutes.
Scénario
Cet atelier s'articule autour d'une application d'impression de livre de photos. L'application permet aux clients de charger une collection d'images qu'ils souhaitent imprimer dans un livre physique. Chaque image est traitée pour garantir qu'elle est correctement affichée dans le livre. L'application utilise AWS Step Functions pour gérer le flux de travail. Le flux de travail utilise des fonctions AWS Lambda pour s'assurer que chaque image correspond au type de fichier approprié et utilise Amazon Rekognition pour s'assurer que le contenu est approprié. Le flux de travail redimensionne et marque également les images en filigrane, puis génère une preuve au format PDF que le client doit approuver. Amazon Simple Notification Service (Amazon SNS) envoie ensuite un e-mail au client pour approbation avant d'envoyer la tâche à Amazon Simple Queue Service (Amazon SQS). Amazon SQS envoie le livre au service d'impression tiers pour qu'il soit imprimé et expédié au client.
Malheureusement, l'application a été interrompue par une récente transmission push de code, et plusieurs erreurs s'affichent lorsque les clients tentent d'ajouter des images pour leurs livres. Vous devrez résoudre tous les problèmes et corriger l'application.
Environnement de l'atelier
L'environnement utilise Amazon API Gateway, des fonctions Lambda, des flux de travail Step Functions, des compartiments Amazon Simple Storage Service (Amazon S3), des tables Amazon DynamoDB, et des files d'attente Amazon SQS. Plusieurs erreurs ont été introduites dans l'environnement, et vous devez les dépanner et les résoudre.
API Gateway héberge plusieurs API devant plusieurs fonctions Lambda. DynamoDB est utilisé pour stocker des métadonnées relatives aux images chargées par l'utilisateur. Un flux de travail Step Functions est lancé pour valider les images et créer le rendu pour impression, avant d'envoyer un lien (via Amazon SNS) à l'utilisateur pour vérification (cette opération est automatisée pour cet atelier). L'utilisateur peut prévisualiser le livre au format PDF avant de l'envoyer à un tiers pour impression et expédition.
L'image suivante est un diagramme d'architecture de haut niveau de l'environnement :
Cliquez ici pour télécharger une version à haute résolution du diagramme d'architecture.
L'image suivante représente un diagramme détaillé la machine d'état de traitement d'images. Utilisez ces éléments pour dépanner l'application :
Cliquez ici pour télécharger une version à haute résolution de la machine d'état de traitement d'images.
Remarques concernant le diagramme de la machine d'état de traitement d'images :
#0: /batch : cette API d'API Gateway est utilisée pour le test. Elle appelle une fonction Lambda qui automatise le processus de chargement de l'utilisateur contenu dans l'encadré orange.
#1: /addAlbum : l'utilisateur envoie une requête d'URL présignées depuis lesquelles charger ses images. L'utilisateur utilise les URL présignées pour charger ses images directement dans Amazon S3.
#2: /createBookBinding : l'utilisateur appelle le processus de création de livre en indiquant qu'il a terminé de charger les images.
#3: /invocation : le fichier PDF est approuvé par proxy via Lambda pour le test.
Remarque Pour faciliter le test, une fonction Lambda a été créée pour automatiquement générer des livres aléatoires. Cela accélère le processus de test en générant plusieurs livres comprenant chacun plusieurs images, pour que vous puissiez mieux identifier les problèmes de l'application.
L'image suivante représente un diagramme détaillé de la machine d'état d'impression de livre :
Cliquez ici pour télécharger une version à haute résolution de la machine d'état d'impression de livre.
Tags
Related Courses
Google Cloud Functions Deep DiveA Cloud Guru Introduction to Amazon EventBridge
A Cloud Guru Introduction to Event-Driven Architecture
A Cloud Guru Adopción de la mentalidad sin servidor (Español LATAM) | Getting into the Serverless Mindset (Spanish from Latin America)
Amazon Web Services via AWS Skill Builder Amazon Connect and Amazon EventBridge Intermediate
Amazon Web Services via AWS Skill Builder