tadata
← Retour à l'accueil

Architecture Serverless : Patterns, Limites et Économie

#serverless#cloud#architecture#aws#gcp

Le serverless transfère la responsabilité opérationnelle au fournisseur cloud, permettant aux équipes de se concentrer sur la logique métier. Mais le "serverless" n'est pas une solution universelle -- comprendre ses patterns, contraintes et dynamiques de coût est essentiel pour prendre de bonnes décisions architecturales.

Patterns serverless principaux

Backend API

Le pattern le plus courant : requêtes HTTP routées via une API Gateway vers des fonctions.

  • API Gateway + Lambda / Cloud Functions
  • Scaling automatique de zéro à des milliers de requêtes concurrentes
  • Facturation à l'invocation

Traitement événementiel

Fonctions déclenchées par des événements de files, streams ou changements de stockage.

  • Upload S3 déclenche le traitement d'images
  • Message SQS/SNS déclenche le traitement de commandes
  • Stream Kinesis/Pub-Sub déclenche l'analytique temps réel

Jobs planifiés

Remplacer les serveurs cron par des invocations de fonctions planifiées.

  • EventBridge Scheduler + Lambda
  • Cloud Scheduler + Cloud Functions
  • Idéal pour les syncs périodiques, génération de rapports, tâches de nettoyage

Workflows d'orchestration

Composer plusieurs fonctions en workflows complexes.

  • AWS Step Functions / GCP Workflows
  • Gestion d'erreurs, retries et exécution parallèle intégrés
  • Définition visuelle du workflow
tadata
Order service APIGateway HTTPS front door Lambda business logic DynamoDB state SQS buffer, retry EventBridge publish OrderPlaced Step Functions payment saga SNS notify customers
Order service APIGateway HTTPS front door Lambda business logic DynamoDB state SQS buffer, retry EventBridge publish OrderPlaced Step Functions payment saga SNS notify customers

Extrait de la fiche « Serverless on AWS: Start Here » · Demander la fiche complète

Paysage des services serverless

CatégorieAWSGCPAzure
ComputeLambdaCloud Functions / Cloud RunAzure Functions
APIAPI GatewayAPI Gateway / Cloud EndpointsAPI Management
OrchestrationStep FunctionsWorkflowsDurable Functions
Base de donnéesDynamoDBFirestoreCosmos DB (serverless)
StockageS3Cloud StorageBlob Storage
MessagingSQS, SNS, EventBridgePub/Sub, EventarcEvent Grid, Service Bus

Limites et contraintes connues

ContrainteImpactMitigation
Cold starts100ms à plusieurs secondes de latenceConcurrence provisionnée, patterns keep-warm
Temps d'exécutionLambda : 15 min, Cloud Functions : 60 minDécouper en étapes, utiliser Step Functions
Taille du payloadAPI Gateway : 10MB, Lambda : 6MB syncURLs présignées S3 pour les gros payloads
Limites de concurrence1000 concurrent par défaut par régionDemander des augmentations de quota
Vendor lock-inIntégration profonde avec les services du providerLogique métier portable, patterns adaptateur
DebuggingLe tracing distribué est plus difficileX-Ray, logging structuré, émulateurs locaux
tadata
cold start penalty Environment A (cold) Environment A (warm,later) Environment B(concurrent) 0 200 400 600 800 1000 milliseconds 0 create micro-VM,download code 300 INIT: runtime +imports 900 handler starts 1100 response 0 handler starts at once 200 response 50 second request: newcold start 1150 response Invocation à froid et à chaud d'une même fonction
cold start penalty Environment A (cold) Environment A (warm,later) Environment B(concurrent) 0 200 400 600 800 1000 milliseconds 0 create micro-VM,download code 300 INIT: runtime +imports 900 handler starts 1100 response 0 handler starts at once 200 response 50 second request: newcold start 1150 response Invocation à froid et à chaud d'une même fonction

Extrait de la fiche « AWS Lambda in Depth: Execution, Invocation, Failure » · Demander la fiche complète

Quand le serverless économise de l'argent

  • Trafic variable -- rien à payer à zéro, scaling automatique au pic
  • Charges ponctuelles -- jobs planifiés qui tournent quelques minutes par jour
  • Prototypage -- aucun coût d'infra tant qu'il n'y a pas de vrai trafic
  • Pipelines event-driven -- charges de traitement en rafales et imprévisibles

Quand le serverless coûte plus cher

  • Haut débit constant -- une charge stable est moins chère sur des conteneurs/VMs réservées
  • Processus longs -- la facturation à la milliseconde s'accumule pour des exécutions de 10+ min
  • Charges à haute mémoire -- le prix Lambda augmente linéairement avec l'allocation mémoire
  • Architectures bavardes -- beaucoup de petits appels inter-fonctions multiplient les coûts

Exemple chiffré : un faible trafic favorise Lambda (prix publics approximatifs us-east-1, vérifiez les pages de tarification)

tadata

Extrait de la fiche « Serverless on AWS: Start Here » · Demander la fiche complète

Ressources

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.