Sans serveur au-delà de Lambda : Fonctions pas à pas
Découvrez comment Step Functions et EventBridge évoluent vos architectures événementielles.
Les points clés en bref
- Serverless va bien au-delà de Lambda : Step Functions, EventBridge et SQS forment l’épine dorsale des architectures modernes.
- L’architecture pilotée par événements découple les services et permet un traitement asynchrone et scalable.
- AWS Step Functions orchestrent visuellement des workflows complexes et tolérants aux pannes.
- EventBridge achemine les événements vers les consommateurs selon des règles – le système nerveux central des architectures événementielles.
- Les coûts serverless sont imbattables à faible charge, mais souvent plus élevés que les conteneurs en cas de charge continue.
AWS Lambda a donné le coup d’envoi, mais serverless est aujourd’hui bien plus que des Functions-as-a-Service. Les architectures serverless modernes orchestrent des workflows avec Step Functions, acheminent des événements via EventBridge, mettent en tampon avec SQS et stockent dans DynamoDB – le tout sans gérer un seul serveur. Le défi n’est plus la technologie, mais la réflexion architecturale.
Architecture pilotée par événements : le principe de base
Dans une architecture pilotée par événements, les services communiquent via des événements plutôt que par des appels API synchrones. Un service de commande publie un événement « Order Created ». Le service de paiement, le service de gestion des stocks et le service de notification réagissent indépendamment – sans se connaître.
Les avantages : un couplage lâche (les services peuvent être déployés indépendamment), une scalabilité (chaque consommateur scale indépendamment) et une résilience (si un consommateur tombe en panne, les événements ne sont pas perdus mais mis en tampon).
Le défi : le débogage de systèmes distribués et asynchrones est complexe. Les événements peuvent arriver dans le désordre, les consommateurs doivent souvent être idempotents, et le traçage de bout en bout nécessite des Correlation-IDs à travers tous les services.
AWS Step Functions : orchestration de workflows sans serveur
Step Functions définit des workflows sous forme de machines à états : une définition visuelle décrit les étapes, les branchements, les parallélisations, la gestion des erreurs et les nouvelles tentatives. Chaque étape peut déclencher une fonction Lambda, un appel à un service AWS (DynamoDB, S3, SQS, ECS) ou une approbation humaine.
Deux modes : Standard Workflows pour les processus longs (jusqu’à 1 an, exécution exactly-once). Express Workflows pour les processus courts et à haut volume (jusqu’à 5 minutes, exécution at-least-once). Modèle de tarification : Standard facture par transition d’état, Express par requête et durée.
Exemple pratique : un workflow d’onboarding qui crée un compte (Lambda), envoie un e-mail (SES), met à jour le CRM (appel API), attend la vérification (callback) et relance automatiquement en cas de timeout – le tout sous forme de workflow visuel, tolérant aux pannes et scalable.
EventBridge : le système de routage d’événements
Amazon EventBridge est un bus d’événements serverless qui reçoit des événements provenant de services AWS, de fournisseurs SaaS (Salesforce, Zendesk, Shopify) et de vos propres applications, puis les achemine vers des cibles selon des règles. Un Event Pattern décrit quels événements doivent être routés où – sans code, uniquement par configuration.
Event Pipes simplifie l’intégration point à point : Source (SQS, DynamoDB Stream, Kinesis) → transformation optionnelle → Target (Lambda, Step Functions, API Destination). Pour un traitement d’événements simple sans routage complexe, c’est la solution la plus efficace.
Scheduler remplace CloudWatch Events Cron : exécution planifiée de fonctions Lambda, de Step Functions ou d’appels API – avec une logique de répétition flexible et la prise en charge des fuseaux horaires.
Design patterns serverless : au-delà des fonctions individuelles
Chorégraphie : Les services réagissent aux événements sans coordination centrale. Chaque service décide lui-même des événements auxquels il répond. Simple, mais difficile à déboguer pour des processus complexes.
Orchestration : Step Functions coordonne le flux de manière centralisée. Chaque étape est explicitement définie. Plus facile à comprendre et à déboguer, mais la Step Function devient une dépendance centrale.
Saga Pattern : Pour les transactions distribuées sur plusieurs services. Chaque étape dispose d’une logique de compensation (rollback). Step Functions implémente les Sagas de manière élégante avec la gestion des erreurs et des états de compensation.
Fan-Out/Fan-In : Un événement déclenche un traitement parallèle (Fan-Out), dont les résultats sont agrégés (Fan-In). SNS → Lambda (Fan-Out) + Step Functions Parallel State (Fan-In) est le pattern AWS classique.
Coûts et limites du Serverless
Le Serverless est imbattable en termes de coût pour les charges faibles et variables : Lambda ne coûte que lors de l’exécution, EventBridge par événement (1 USD par million), Step Functions par transition. Pour les applications avec des pics de charge ou une moyenne faible, c’est optimal.
En cas de charge continue, le Serverless devient coûteux : une fonction Lambda fonctionnant 24h/24 avec 1 Go de mémoire coûte plus de 40 USD par mois – un conteneur sur Fargate ou ECS serait moins cher. La règle d’optimisation des coûts : Serverless pour les charges variables, conteneurs pour les charges stables.
Autres limites : les Cold Starts (1 à 5 secondes pour Java/C#), la durée maximale d’exécution (15 minutes pour Lambda), les limites de payload (6 Mo en synchrone) et le Vendor-Lock-in (EventBridge, Step Functions sont propriétaires AWS).
Foire aux questions
Le Serverless est-il vraiment sans serveur ?
Non – les serveurs existent, mais c’est le fournisseur cloud qui les gère. Le client ne voit aucun serveur, ne les met pas à jour et ne les scale pas. « Serverless » signifie : aucune responsabilité infrastructurelle, pas absence d’infrastructure.
Comment déboguer les applications Serverless ?
AWS X-Ray et CloudWatch Logs sont les outils natifs. Lumigo et Epsagon (désormais Cisco) offrent une meilleure visualisation des traces Serverless distribuées. Les tests locaux avec SAM CLI ou LocalStack simulent l’environnement AWS sur l’ordinateur portable du développeur.
Peut-on utiliser le Serverless sans AWS ?
Oui. Azure Functions + Logic Apps + Event Grid proposent un écosystème similaire. Google Cloud Functions + Workflows + Eventarc également. Les alternatives open source (Knative, OpenFaaS) s’exécutent sur Kubernetes. Les concepts sont portables, les implémentations spécifiques au fournisseur.
Quand choisir le Serverless plutôt que les conteneurs ?
Serverless pour : les workloads pilotés par événements, les charges variables, un time-to-market rapide, les petites équipes. Conteneurs pour : les charges stables, les longues durées d’exécution, les exigences spécifiques de runtime, la portabilité multi-cloud. L’hybride est courant : conteneurs pour les services core, Serverless pour la logique d’intégration et le traitement d’événements.
Comment éviter le Vendor-Lock-in avec le Serverless ?
L’éviter complètement est difficile – Step Functions et EventBridge n’ont pas d’équivalents directs chez les autres fournisseurs. Stratégies : logique métier en code pur (portable), infrastructure as code (Terraform/Pulumi), architecture hexagonale (Ports & Adapters) pour des intégrations fournisseurs interchangeables.
Source de l’image de titre : Pexels / panumas nikhomkhai
Sélection de la rédaction
cloudmagazinLenovo ThinkCentre M75q Tiny Gen 5 : mini-PC professionnel avec AMD PRO et 5 watts en veille pour l’Edge et les kiosquescloudmagazinL’IA Serverless est surévaluée – voici ce qui compte vraimentcloudmagazinQNAP TS-464 : NAS 4 baies avec Docker, HDMI et slot PCIe – ce que Synology ne propose pas dans cette catégoriePlus du réseau MBF Media
SecurityToday | MyBusinessFuture | Digital Chiefs
Traduit de l’original allemand par intelligence artificielle. La version allemande fait foi.

