Développement de solutions sans serveur sur AWS
Le développement serverless sur AWS offre une flexibilité et une scalabilité exceptionnelles, mais exige la maîtrise de pratiques spécifiques. Cette formation de 3 jours est conçue pour les développeurs, leur offrant une exposition et une mise en pratique des meilleures approches pour la création d'applications serverless robustes.
Ce programme de niveau intermédiaire vous guidera à travers une série de laboratoires pratiques, progressant des sujets les plus simples aux plus complexes. Vous explorerez la conception orientée événementielle, le développement piloté par API, l'orchestration avec Step Functions, et la sécurité des applications serverless. La formation couvre également la gestion de la mise à l'échelle et l'automatisation de la chaîne de déploiement (CI/CD) avec des outils AWS.
À l'issue de ce cours, vous serez capable d'appliquer les meilleures pratiques de conception et de sécurité aux applications serverless, de construire des solutions connectant divers services AWS et d'automatiser leur déploiement. Vous saurez également identifier les considérations clés de mise à l'échelle et créer des workflows CI/CD efficaces. Cette expertise vous permettra de relever les défis du développement serverless et d'innover sur la plateforme AWS.
Objectifs
À l'issue de cette formation AWS serverless, vous atteindrez les objectifs de compétences suivants :
- concevoir des applications serverless en appliquant les meilleures pratiques orientées événementielles à l'aide des services AWS appropriés ;
- évaluer les défis et les compromis de la transition vers le développement serverless, et proposer des recommandations adaptées à votre environnement de développement ;
- construire des solutions serverless en connectant les services AWS gérés et en tenant compte de leurs caractéristiques (quotas de service, intégrations disponibles, modèles d'invocation, gestion des erreurs et charge utile des événements) ;
- comparer les options d'infrastructure as Code disponibles, telles qu'AWS CloudFormation, AWS Amplify, AWS Serverless Application Model (AWS SAM) et AWS Cloud Development Kit (AWS CDK) ;
- optimiser l'écriture des fonctions Lambda en appliquant les bonnes pratiques (gestion des erreurs, journalisation, réutilisation de l'environnement, utilisation des couches, immutabilité, idempotence, configuration de la concurrence et de la mémoire) ;
- intégrer les meilleures pratiques pour l'observabilité et la surveillance au sein de vos applications serverless ;
- appliquer les bonnes pratiques de sécurité aux applications serverless ;
- identifier les considérations clés de mise à l'échelle dans une application serverless, et associer chaque considération aux méthodes, outils ou bonnes pratiques pour la gérer ;
- utiliser AWS SAM, AWS CDK et les outils de développement AWS pour configurer un workflow CI/CD et automatiser le déploiement d'une application serverless ;
- développer et maintenir activement un inventaire de ressources serverless pour soutenir votre développement continu et votre engagement avec la communauté serverless.
Programme
Module 1 : préambule
- Présentation de l'application que vous construirait au cours de la formation.
- Présentation des ressources du cours : guide de l'étudiant, guide de laboratoire et supplément en ligne.
Module 2 : penser serverless
- Les meilleures pratiques pour la construction d'applications serverless modernes.
- La conception orientée événement (Event-driven design).
- Les services AWS qui supportent les applications serverless orientées événement.
Module 3 : développer des API et des sources d'événements synchrones
- Les caractéristiques des applications web standards basées sur des API de requête/réponse.
- La place d'Amazon API Gateway dans les applications serverless.
- La comparaison des types d'API (REST/HTTP, WebSocket et GraphQL).
Travaux pratiques
- Configurer un point d'accès API HTTP intégré à une fonction Lambda.
Module 4 : s'initier à l'authentification, l'autorisation et le contrôle d'accès
- La distinction entre l'authentification et l'autorisation.
- Les options d'authentification aux API utilisant API Gateway.
- L'intégration d'Amazon Cognito dans les applications serverless.
- La comparaison des pools d'utilisateurs Amazon Cognito et des identités fédérées.
Module 5 : explorer les frameworks de déploiement Serverless
- La programmation impérative versus déclarative pour l'infrastructure as Code.
- La comparaison des frameworks CloudFormation, AWS CDK, Amplify et AWS SAM.
- Les fonctionnalités d'AWS SAM et de l'AWS SAM CLI pour l'émulation et le test local.
Module 6 : utiliser Amazon EventBridge et Amazon SNS pour découpler les composants
- Les considérations de développement lors de l'utilisation de sources d'événements asynchrones.
- Les fonctionnalités et les cas d'utilisation d'Amazon EventBridge.
- La comparaison des cas d'utilisation avec Amazon Simple Notification Service (Amazon SNS) et d'EventBridge.
Travaux pratiques
- Construire un bus EventBridge personnalisé et une règle.
- Configurer un sujet Amazon SNS avec filtrage.
Module 7 : développer des applications orientées événements avec files d'attente et flux
- Les considérations de développement lors de l'utilisation de sources d'événements par sondage (polling) pour déclencher des fonctions Lambda.
- Les distinctions entre les files d'attente et les flux comme sources d'événements pour Lambda.
- La sélection des configurations appropriées lors de l'utilisation d'Amazon Simple Queue Service (Amazon SQS) ou d'Amazon Kinesis Data Streams comme source d'événement pour Lambda.
Travaux pratiques
- Configurer une file d'attente Amazon SQS avec une file d'attente de lettres mortes comme source d'événement Lambda.
- Déployer une application serverless simple.
- Mettre en place un Fan-Out de messages avec Amazon EventBridge.
Module 8 : écrire des fonctions Lambda efficaces
- L'influence du cycle de vie de Lambda sur le code de vos fonctions.
- Les meilleures pratiques pour vos fonctions Lambda.
- La configuration d'une fonction.
- La gestion du code de fonction, des versions et des alias.
- La gestion des erreurs Lambda.
- La gestion des échecs partiels avec les files d'attente et les flux.
Travaux pratiques
- Configurer et tester une fonction Lambda.
Module 9 : orchestrer avec Step Functions
- L'utilisation d'AWS Step Functions dans les architectures serverless.
- Le modèle de rappel (callback pattern).
- La comparaison des workflows Standard et Express.
- Les intégrations directes de Step Functions.
Travaux pratiques
- Explorer les états de Step Functions.
- Dépanner un workflow Standard de Step Functions.
Module 10 : mettre en oeuvre l'observabilité et la surveillance
- Les trois piliers de l'observabilité.
- L'utilisation d'Amazon CloudWatch Logs et Logs Insights.
- La rédaction de fichiers de log efficaces.
- L'utilisation d'AWS X-Ray pour l'observabilité.
- Les métriques CloudWatch et le format des métriques embarquées.
Travaux pratiques
- Interpréter les logs.
- Activer X-Ray et interpréter les traces X-Ray.
- Configurer les métriques et les alarmes.
- Utiliser ServiceLens.
Module 10 : sécuriser les applications Serverless
- Les meilleures pratiques de sécurité pour les applications serverless.
- L'application de la sécurité à toutes les couches.
- La sécurité des API Gateway et des applications.
- La sécurité de Lambda et des applications.
- La protection des données dans les stockages de données serverless.
- L'audit et la traçabilité.
Travaux pratiques
- Sécuriser des applications serverless.
Module 11 : gérer la mise à l'échelle dans les applications serverless
- Les considérations de mise à l'échelle pour les applications serverless.
- L'utilisation d'API Gateway pour gérer la mise à l'échelle.
- La mise à l'échelle de la concurrence Lambda.
- La manière dont les différentes sources d'événements s'adaptent avec Lambda.
Module 12 : automatiser la chaîne de déploiement
- L'importance du CI/CD (Intégration Continue/Déploiement Continu) dans les applications serverless.
- Les outils dans une pipeline serverless.
- Les fonctionnalités d'AWS SAM pour les déploiements serverless.
- Les meilleures pratiques pour l'automatisation.
Travaux pratiques
- Mettre en place un CI/CD serverless sur AWS.
Prérequis
Suivre cette formation AWS nécessite les prérequis suivants :
- avoir des connaissances de base sur l'architecture générale du Cloud AWS ;
- avoir un niveau de connaissance équivalent à celui acquis après avoir suivi la formation développement sur AWS ;
- posséder des connaissances équivalentes à celles acquises après avoir suivi les formations AWS Lambda Foundations et Amazon API Gateway for Serverless Applications.
Public
Cette formation s'adresse aux publics suivants :
- Les développeurs expérimentés qui possèdent déjà une certaine familiarité avec le concept serverless et une expérience en développement dans le Cloud AWS.
Points forts
- Expertise du formateur : bénéficiez de l'expertise de formateurs reconnus et certifiés par AWS, qui possèdent une connaissance approfondie des meilleures pratiques pour la construction d'applications serverless sur la plateforme AWS.
- Mise en pratique interactive : maîtrisez les outils et techniques de développement serverless grâce à des présentations, des laboratoires pratiques, des démonstrations et des exercices de groupe. Vous déploierez une application serverless dans des labs progressant du simple au complexe, pour relever des défis réels.
- Acquisition de compétences clés : le contenu de la formation est conçu pour vous permettre de développerez des méthodes authentiques pour l'apprentissage et la résolution de problèmes au-delà de la salle de classe, en utilisant la documentation AWS.
Objectifs
À l'issue de cette formation AWS serverless, vous atteindrez les objectifs de compétences suivants :
- concevoir des applications serverless en appliquant les meilleures pratiques orientées événementielles à l'aide des services AWS appropriés ;
- évaluer les défis et les compromis de la transition vers le développement serverless, et proposer des recommandations adaptées à votre environnement de développement ;
- construire des solutions serverless en connectant les services AWS gérés et en tenant compte de leurs caractéristiques (quotas de service, intégrations disponibles, modèles d'invocation, gestion des erreurs et charge utile des événements) ;
- comparer les options d'infrastructure as Code disponibles, telles qu'AWS CloudFormation, AWS Amplify, AWS Serverless Application Model (AWS SAM) et AWS Cloud Development Kit (AWS CDK) ;
- optimiser l'écriture des fonctions Lambda en appliquant les bonnes pratiques (gestion des erreurs, journalisation, réutilisation de l'environnement, utilisation des couches, immutabilité, idempotence, configuration de la concurrence et de la mémoire) ;
- intégrer les meilleures pratiques pour l'observabilité et la surveillance au sein de vos applications serverless ;
- appliquer les bonnes pratiques de sécurité aux applications serverless ;
- identifier les considérations clés de mise à l'échelle dans une application serverless, et associer chaque considération aux méthodes, outils ou bonnes pratiques pour la gérer ;
- utiliser AWS SAM, AWS CDK et les outils de développement AWS pour configurer un workflow CI/CD et automatiser le déploiement d'une application serverless ;
- développer et maintenir activement un inventaire de ressources serverless pour soutenir votre développement continu et votre engagement avec la communauté serverless.
Programme
Module 1 : préambule
- Présentation de l'application que vous construirait au cours de la formation.
- Présentation des ressources du cours : guide de l'étudiant, guide de laboratoire et supplément en ligne.
Module 2 : penser serverless
- Les meilleures pratiques pour la construction d'applications serverless modernes.
- La conception orientée événement (Event-driven design).
- Les services AWS qui supportent les applications serverless orientées événement.
Module 3 : développer des API et des sources d'événements synchrones
- Les caractéristiques des applications web standards basées sur des API de requête/réponse.
- La place d'Amazon API Gateway dans les applications serverless.
- La comparaison des types d'API (REST/HTTP, WebSocket et GraphQL).
Travaux pratiques
- Configurer un point d'accès API HTTP intégré à une fonction Lambda.
Module 4 : s'initier à l'authentification, l'autorisation et le contrôle d'accès
- La distinction entre l'authentification et l'autorisation.
- Les options d'authentification aux API utilisant API Gateway.
- L'intégration d'Amazon Cognito dans les applications serverless.
- La comparaison des pools d'utilisateurs Amazon Cognito et des identités fédérées.
Module 5 : explorer les frameworks de déploiement Serverless
- La programmation impérative versus déclarative pour l'infrastructure as Code.
- La comparaison des frameworks CloudFormation, AWS CDK, Amplify et AWS SAM.
- Les fonctionnalités d'AWS SAM et de l'AWS SAM CLI pour l'émulation et le test local.
Module 6 : utiliser Amazon EventBridge et Amazon SNS pour découpler les composants
- Les considérations de développement lors de l'utilisation de sources d'événements asynchrones.
- Les fonctionnalités et les cas d'utilisation d'Amazon EventBridge.
- La comparaison des cas d'utilisation avec Amazon Simple Notification Service (Amazon SNS) et d'EventBridge.
Travaux pratiques
- Construire un bus EventBridge personnalisé et une règle.
- Configurer un sujet Amazon SNS avec filtrage.
Module 7 : développer des applications orientées événements avec files d'attente et flux
- Les considérations de développement lors de l'utilisation de sources d'événements par sondage (polling) pour déclencher des fonctions Lambda.
- Les distinctions entre les files d'attente et les flux comme sources d'événements pour Lambda.
- La sélection des configurations appropriées lors de l'utilisation d'Amazon Simple Queue Service (Amazon SQS) ou d'Amazon Kinesis Data Streams comme source d'événement pour Lambda.
Travaux pratiques
- Configurer une file d'attente Amazon SQS avec une file d'attente de lettres mortes comme source d'événement Lambda.
- Déployer une application serverless simple.
- Mettre en place un Fan-Out de messages avec Amazon EventBridge.
Module 8 : écrire des fonctions Lambda efficaces
- L'influence du cycle de vie de Lambda sur le code de vos fonctions.
- Les meilleures pratiques pour vos fonctions Lambda.
- La configuration d'une fonction.
- La gestion du code de fonction, des versions et des alias.
- La gestion des erreurs Lambda.
- La gestion des échecs partiels avec les files d'attente et les flux.
Travaux pratiques
- Configurer et tester une fonction Lambda.
Module 9 : orchestrer avec Step Functions
- L'utilisation d'AWS Step Functions dans les architectures serverless.
- Le modèle de rappel (callback pattern).
- La comparaison des workflows Standard et Express.
- Les intégrations directes de Step Functions.
Travaux pratiques
- Explorer les états de Step Functions.
- Dépanner un workflow Standard de Step Functions.
Module 10 : mettre en oeuvre l'observabilité et la surveillance
- Les trois piliers de l'observabilité.
- L'utilisation d'Amazon CloudWatch Logs et Logs Insights.
- La rédaction de fichiers de log efficaces.
- L'utilisation d'AWS X-Ray pour l'observabilité.
- Les métriques CloudWatch et le format des métriques embarquées.
Travaux pratiques
- Interpréter les logs.
- Activer X-Ray et interpréter les traces X-Ray.
- Configurer les métriques et les alarmes.
- Utiliser ServiceLens.
Module 10 : sécuriser les applications Serverless
- Les meilleures pratiques de sécurité pour les applications serverless.
- L'application de la sécurité à toutes les couches.
- La sécurité des API Gateway et des applications.
- La sécurité de Lambda et des applications.
- La protection des données dans les stockages de données serverless.
- L'audit et la traçabilité.
Travaux pratiques
- Sécuriser des applications serverless.
Module 11 : gérer la mise à l'échelle dans les applications serverless
- Les considérations de mise à l'échelle pour les applications serverless.
- L'utilisation d'API Gateway pour gérer la mise à l'échelle.
- La mise à l'échelle de la concurrence Lambda.
- La manière dont les différentes sources d'événements s'adaptent avec Lambda.
Module 12 : automatiser la chaîne de déploiement
- L'importance du CI/CD (Intégration Continue/Déploiement Continu) dans les applications serverless.
- Les outils dans une pipeline serverless.
- Les fonctionnalités d'AWS SAM pour les déploiements serverless.
- Les meilleures pratiques pour l'automatisation.
Travaux pratiques
- Mettre en place un CI/CD serverless sur AWS.
Prérequis
Suivre cette formation AWS nécessite les prérequis suivants :
- avoir des connaissances de base sur l'architecture générale du Cloud AWS ;
- avoir un niveau de connaissance équivalent à celui acquis après avoir suivi la formation développement sur AWS ;
- posséder des connaissances équivalentes à celles acquises après avoir suivi les formations AWS Lambda Foundations et Amazon API Gateway for Serverless Applications.
Public
Cette formation s'adresse aux publics suivants :
- Les développeurs expérimentés qui possèdent déjà une certaine familiarité avec le concept serverless et une expérience en développement dans le Cloud AWS.
Points forts
- Expertise du formateur : bénéficiez de l'expertise de formateurs reconnus et certifiés par AWS, qui possèdent une connaissance approfondie des meilleures pratiques pour la construction d'applications serverless sur la plateforme AWS.
- Mise en pratique interactive : maîtrisez les outils et techniques de développement serverless grâce à des présentations, des laboratoires pratiques, des démonstrations et des exercices de groupe. Vous déploierez une application serverless dans des labs progressant du simple au complexe, pour relever des défis réels.
- Acquisition de compétences clés : le contenu de la formation est conçu pour vous permettre de développerez des méthodes authentiques pour l'apprentissage et la résolution de problèmes au-delà de la salle de classe, en utilisant la documentation AWS.
AWS est une marque déposée d'Amazon.com, inc. ou de ses filiales.