Mise à l'échelle et contrôles de concurrence

Applications serverless avec AWS Lambda

Claudio Canales

Senior DevOps Engineer

La mise à l'échelle en un schéma

  • Plus de demande -> plus d'exécutions en parallèle.
  • Chaque exécution utilise un environnement.
  • Concurrence = exécutions en cours.

Pic de demande -> plus d'environnements

Applications serverless avec AWS Lambda

Qu'est‑ce que la concurrence ?

  • Une invocation = une unité de travail.
  • Concurrence = combien s'exécutent maintenant.
  • Si 10 s'exécutent, concurrence = 10.

Invocations en parallèle

Applications serverless avec AWS Lambda

Estimer la concurrence requise

  • Règle pratique : concurrency = rps * duration.
  • Réduire la durée réduit la concurrence.
  • Servez‑vous‑en pour dimensionner les limites.

Formule de concurrence

Applications serverless avec AWS Lambda

Exemple : 50 rps à 200 ms

  • 200 ms = 0,2 seconde.
  • 50 * 0,2 = 10 exécutions concurrentes.
  • Du code plus rapide = moins de parallélisme.

Exemple de calcul de concurrence

Applications serverless avec AWS Lambda

Limites : pool du compte vs tranche de fonction

  • La concurrence est limitée au niveau du compte.
  • Réservez une part pour une fonction critique.
  • Les autres fonctions se partagent le reste.

Pool de concurrence du compte

Applications serverless avec AWS Lambda

Concurrence réservée : plafond strict

  • Une soupape de sécurité.
  • Limite le travail en parallèle.
  • Au‑delà du plafond, les invocations sont bridées.
  • Une fonction bruyante n'épuise pas la capacité.

Plafond de concurrence réservée

Applications serverless avec AWS Lambda

Bridage : à quoi ça ressemble

  • Lambda bride au niveau de concurrence.
  • L'appelant n'obtient pas une exécution normale.
  • Les bridages apparaissent au monitoring.

Signaux de bridage

Applications serverless avec AWS Lambda

Concurrence provisionnée : capacité chaude

  • Un pool d'environnements pré‑initialisés.
  • Souvent derrière un alias.
  • Démarrage des requêtes plus rapide.

Pool chaud de concurrence provisionnée

Applications serverless avec AWS Lambda

Démarrage à froid vs provisionné

Cold start

  • Un délai d'initialisation unique.
  • La première requête paie le coût de setup.

Provisionnée

  • Initialisation faite à l'avance.
  • La première requête n'a pas ce coût.

Chronologie : à froid vs provisionnée

Applications serverless avec AWS Lambda

Réservée vs provisionnée (problèmes différents)

  • Réservée contrôle la charge.
  • Provisionnée réduit la latence de démarrage.
  • Beaucoup de fonctions de prod combinent les deux.

Comparaison réservée vs provisionnée

Applications serverless avec AWS Lambda

Protéger les systèmes en aval

  • La base de données supporte un nombre limité de connexions.
  • Un plafond de concurrence la protège.
  • Un pic de trafic peut sinon causer une panne.

Le plafond protège une base de données

Applications serverless avec AWS Lambda

Pics vs trafic stable

  • Les pics créent de nombreux environnements parallèles.
  • Des gestionnaires lents maintiennent une forte concurrence.
  • Les plafonds peuvent lisser le pic.
  • Réduire la durée est aussi une stratégie d'échelle.

Trafic en pic vs régime stable

Applications serverless avec AWS Lambda

Défaillances et retentatives augmentent la charge

  • Les retentatives amplifient le trafic.
  • Les limites de concurrence réduisent l'impact.
  • Une boucle d'échecs peut saturer les dépendances.

Les retentatives multiplient la charge

Applications serverless avec AWS Lambda

Un flux simple d'optimisation

  • Commencez par mesurer.
  • Fixez un plafond quand apparaissent bridages ou pression.
  • Ajoutez de la capacité provisionnée si le froid nuit à la latence.

Mesurer -> plafonner -> préchauffer

Applications serverless avec AWS Lambda

Points clés

  • La concurrence aide à raisonner sur l'échelle.
  • Estimation : rps * duration.
  • Réservée plafonne la charge ; surveillez le bridage.
  • Provisionnée réduit la latence de démarrage à froid.

Points clés sur la concurrence

Applications serverless avec AWS Lambda

Passons à la pratique !

Applications serverless avec AWS Lambda

Preparing Video For Download...