Developing Serverless Solutions on AWS (SVDVSS)

Ce cours permet aux développeurs de s’initier et de s’exercer aux bonnes pratiques de création d’applications sans serveur à l’aide d’AWS Lambda et d’autres services de la plate-forme sans serveur AWS. Vous utiliserez des frameworks AWS pour déployer une application sans serveur dans des ateliers pratiques qui progressent des sujets les plus simples aux plus complexes. Vous utiliserez la documentation AWS tout au long du cours pour développer des méthodes authentiques d’apprentissage et de résolution de problèmes au-delà de la salle de classe.



Objectifs pédagogiques :

Dans ce cours, vous apprendrez à :

  • Appliquer les bonnes pratiques basées sur les événements à la conception d’une application sans serveur à l’aide des services AWS appropriés
  • Identifier les défis et les compromis liés à la transition vers le développement serverless et faites des recommandations adaptées à votre organisation et à votre environnement de développement
  • Créer des applications sans serveur à l’aide de modèles qui connectent les services gérés par AWS entre eux et tiennent compte des caractéristiques du service, notamment les quotas de service, les intégrations disponibles, le modèle d’appel, la gestion des erreurs et la charge utile de la source d’événements
  • Comparer les options disponibles pour l’écriture de l’infrastructure en tant que code, notamment AWS CloudFormation, AWS Amplify, AWS Serverless Application Model (AWS SAM) et AWS CLOUD DEVELOPMENT KIT (AWS CDK)
  • Appliquer les meilleures pratiques à l’écriture de fonctions Lambda, y compris la gestion des erreurs, la journalisation, la réutilisation de l’environnement, l’utilisation de couches, l’absence d’état, l’idempotence et la configuration de la concurrence et de la mémoire
  • Appliquer les meilleures pratiques en matière d’intégration de l’observabilité et de la surveillance dans votre application serverless
  • Appliquer les bonnes pratiques de sécurité aux applications sans serveur
  • Identifier les principaux facteurs de mise à l’échelle d’une application serverless et les associer aux méthodes, aux outils ou aux bonnes pratiques pour la gérer
  • Utiliser les outils de développement AWS SAM, AWS CDK et AWS pour configurer un flux de travail CI/CD et automatiser le déploiement d’une application sans serveur
  • Créer et tenir à jour activement une liste de ressources sans serveur qui vous aideront dans votre développement continu et votre engagement avec la communauté sans serveur.


Public visé :

Ce cours s’adresse à :

  • Développeurs ayant une certaine familiarité avec le serverless et une expérience du développement dans le cloud AWS


Prérequis :

Les participants à ce cours doivent avoir :

  • Connaissance des bases de l’architecture du cloud AWS
  • Une compréhension du développement d’applications sur AWS équivalente à la formation en classe Développement sur AWS
  • Connaissances équivalentes à la réalisation des formations numériques sans serveur suivantes : AWS Lambda Foundations et Amazon API Gateway for Serverless Applications
Afficher les détails

Programme de cours :


Jour 1

Module 0 : Introduction

  • Présentation de l’application que vous allez créer
  • Accès aux ressources du cours (Guide de l’étudiant, Guide de laboratoire et Supplément au cours en ligne)

Module 1 : Penser sans serveur

  • Bonnes pratiques pour la création d’applications serverless modernes
  • Conception événementielle
  • Services AWS prenant en charge les applications sans serveur basées sur les événements

Module 2 : Développement piloté par API et sources d’événements synchrones

  • Caractéristiques des applications Web standard basées sur l’API de demande/réponse
  • Comment Amazon API Gateway s’intègre dans les applications sans serveur
  • Exercice d’essai : Configurer un point de terminaison d’API HTTP intégré à une fonction Lambda
  • Comparaison de haut niveau des types d’API (REST/HTTP, WebSocket, GraphQL)

Module 3 : Introduction à l’authentification, à l’autorisation et au contrôle d’accès

  • Authentification et autorisation
  • Options d’authentification auprès des API à l’aide d’API Gateway
  • Amazon Cognito dans les applications sans serveur
  • Groupes d’utilisateurs Amazon Cognito et identités fédérées

Module 4 : Frameworks de déploiement sans serveur

  • Vue d’ensemble de la programmation impérative et déclarative pour l’infrastructure en tant que code
  • Comparaison des frameworks CloudFormation, AWS CDK, Amplify et AWS SAM
  • Fonctionnalités d’AWS SAM et de l’interface de ligne de commande AWS SAM pour l’émulation et les tests locaux

Module 5 : Utilisation d’Amazon EventBridge et d’Amazon SNS pour découpler les composants

  • Considérations de développement lors de l’utilisation de sources d’événements asynchrones
  • Fonctionnalités et cas d’utilisation d’Amazon EventBridge
  • Exercice d’essai : Créer un bus et une règle EventBridge personnalisés
  • Comparaison des cas d’utilisation d’Amazon Simple Notification Service (Amazon SNS) et d’EventBridge
  • Exercice d’essai : Configurer une rubrique Amazon SNS avec filtrage

Module 6 : Développement piloté par les événements à l’aide de files d’attente et de flux

  • Considérations de développement lors de l’utilisation de sources d’événements d’interrogation pour déclencher des fonctions Lambda
  • Distinctions entre les files d’attente et les flux en tant que sources d’événements pour Lambda
  • Sélection des configurations appropriées lors de l’utilisation d’Amazon Simple Queue Service (Amazon SQS) ou d’Amazon Kinesis Data Streams en tant que source d’événements pour Lambda
  • Exercice d’essai : Configuration d’une file d’attente Amazon SQS avec une file d’attente de lettres mortes en tant que source d’événement Lambda

Ateliers pratiques

  • Exercice pratique 1 : Déploiement d’une application sans serveur simple
  • Atelier pratique 2 : Diffusion des messages avec Amazon EventBridge


Jour 2

Module 7 : Écrire de bonnes fonctions Lambda

  • Comment le cycle de vie Lambda influence le code de votre fonction
  • Bonnes pratiques pour vos fonctions Lambda
  • Configuration d’une fonction
  • Code de fonction, versions et alias
  • Exercice d’essai : Configurer et tester une fonction Lambda
  • Gestion des erreurs Lambda
  • Gestion des défaillances partielles avec les files d’attente et les flux

Module 8 : Fonctions d’étape pour l’orchestration

  • AWS Step Functions dans les architectures sans serveur
  • Exercice d’essai : États des fonctions de l’étape
  • Le modèle de rappel
  • Flux de travail standard ou express
  • Intégrations directes de Step Functions
  • Exercice d’essai : Dépannage d’un flux de travail Standard Step Functions

Module 9 : Observabilité et surveillance

  • Les trois piliers de l’observabilité
  • Journaux Amazon CloudWatch et Logs Insights
  • Écriture de fichiers journaux efficaces
  • Exercice d’essai : Interprétation des journaux
  • Utilisation d’AWS X-Ray pour l’observabilité
  • Exercice d’essai : Activer les rayons X et interpréter les traces de rayons X
  • Métriques CloudWatch et format des métriques intégrées
  • Exercice d’essai : mesures et alarmes
  • Exercice d’essai : ServiceLens

Ateliers pratiques

  • Exercice pratique 3 : Orchestration des flux de travail à l’aide d’AWS Step Functions
  • Atelier pratique 4 : Observabilité et surveillance


Jour 3

Module 10 : Sécurité des applications sans serveur

  • Bonnes pratiques de sécurité pour les applications sans serveur
  • Application de la sécurité à tous les niveaux
  • Passerelle API et sécurité des applications
  • Lambda et la sécurité des applications
  • Protection des données dans vos magasins de données serverless
  • Audit et traçabilité

Module 11 : Gestion de la balance dans les applications sans serveur

  • Considérations relatives à la mise à l’échelle des applications sans serveur
  • Utilisation d’API Gateway pour gérer l’évolutivité
  • Mise à l’échelle de la concurrence Lambda
  • Comment différentes sources d’événements évoluent avec Lambda

Module 12 : Automatisation du pipeline de déploiement

  • L’importance de la CI/CD dans les applications sans serveur
  • Outils dans un pipeline serverless
  • Fonctionnalités AWS SAM pour les déploiements sans serveur
  • Bonnes pratiques en matière d’automatisation
  • Résumé du cours

Ateliers pratiques

  • Exercice pratique n° 5 : Sécurisation des applications sans serveur
  • Atelier pratique 6 : CI/CD sans serveur sur AWS