Skip to main content

Serverless sur AWS

Objectifs 

• Créer des fonctions Lambda
• Déployer des API REST avec API Gateway
• Gérer la persistance avec DynamoDB
• Automatiser les déploiements avec AWS SAM
• Comprendre les concepts fondamentaux du serverless

glossaire

● Serverless: Modèle d'exécution où le cloud gère l'infrastructure
● Lambda: Service AWS de compute serverless (fonctions as a service)
● API Gateway: Service AWS pour créer et gérer des API
● DynamoDB: Base de données NoSQL serverless d'AWS
● SAM: Serverless Application Model - framework IaC pour serverless
● CloudFormation: Service AWS d'infrastructure as code
● Cold Start: Délai au premier démarrage d'une fonction Lambda
● Warm Start: Exécution d'une fonction Lambda déjà initialisée
● IAM: Identity and Access Management - gestion des permissions AWS
● CORS: Cross-Origin Resource Sharing - mécanisme de sécurité web

Partie 1 : pratique de la console AWS

Objectif de cette partie

Créer une application TODO complète en utilisant l'interface web AWS Console. Cette approche vous permet de comprendre visuellement chaque composant avant d'automatiser avec du code.

 

Prérequis

● Compte AWS actif (free tier suffit)
● Accès à la console AWS
● Navigateur web moderne
● Postman ou curl pour tester l'API

 

Étape 1 : Créer la table DynamoDB

Pourquoi commencer par DynamoDB ? Car nos fonctions Lambda auront besoin de la table. Il faut toujours créer les dépendances avant les ressources qui les utilisent

 

  • Se connecter à la console AWS
  • Dans la barre de recherche en haut, tapez "DynamoDB" et cliquez sur le service
  • Cliquez sur le bouton orange "Créer une table" (Create table)
  • Configurez la table avec ces paramètres :
    • Nom de la table : Tasks
    • Clé de partition : taskId (Type: String)
    • Settings :
      • Table settings : Default settings
      • Read/write capacity settings : On-demand → parfait pour le développement, pas besoin de provisionner de capacité 
      • Laissez tous les autres paramètres par défaut
  • Cliquez sur "Créer une table" (Create table) en bas de page
  • Attendez que le statut passe à "Active" (environ 30 secondes)