Stratégies de déploiement : versions, alias et bascule de trafic

Applications serverless avec AWS Lambda

Claudio Canales

Senior DevOps Engineer

Pourquoi la stratégie de déploiement compte

  • Détecter vite les bugs.
  • Limiter l'impact.
  • Revenir rapidement.

Déploiement risqué vs sûr

Applications serverless avec AWS Lambda

$LATEST vs versions publiées

$LATEST

  • Bouge à chaque mise à jour du code.

Versions

  • Instantanés immuables.
  • Faciles à épingler pour rollback et répartition du trafic.

LATEST vs versions

Applications serverless avec AWS Lambda

Une version est un instantané immuable

  • Traitez les versions comme des artefacts de release.
  • Chacune capture code et configuration.
  • Une fois publiée, elle ne change plus.
  • Vous pouvez toujours revenir à un état sain connu.

Instantané de version immuable

Applications serverless avec AWS Lambda

Les alias sont des pointeurs stables

  • Un pointeur stable.
  • Invoquez l'alias plutôt qu'une version.
  • Mettez à jour sa cible sans changer les appelants.

Un alias pointe vers une version

Applications serverless avec AWS Lambda

Alias dev et prod

  • Idéal pour les environnements.
  • Déplacez souvent dev.
  • Passez en prod en déplaçant l'alias.

Mappage d'alias dev et prod

Applications serverless avec AWS Lambda

Bascule de trafic avec alias pondérés

  • Tester en production en toute sécurité.
  • La plupart du trafic reste sur la version actuelle.
  • Un faible pourcentage va au candidat.

Concept de routage pondéré par alias

Applications serverless avec AWS Lambda

Étape canari 1 : 90/10

  • 90 % restent sur l'actuelle.
  • 10 % testent le candidat en charge réelle.
  • Surveillez erreurs et latence.

Canari 90/10

Applications serverless avec AWS Lambda

Étape canari 2 : 50/50

  • Si les 10 % sont bons, augmentez le poids.
  • 50 % actuelle, 50 % candidate.
  • Les problèmes émergent vite à 50/50.
  • La supervision est clé.

Canari 50/50

Applications serverless avec AWS Lambda

Étape canari 3 : 100 % nouveau

  • Router tout le trafic vers la nouvelle version.
  • L'ancienne reste disponible.
  • Le rollback est simple.

Canari 100 % nouveau

Applications serverless avec AWS Lambda

Modèle mental blue/green

  • Bleu = version stable actuelle.
  • Vert = nouvelle version candidate.
  • Basculez en déplaçant l'alias.
  • Le routage pondéré rend la bascule graduelle.

Bascule blue/green

Applications serverless avec AWS Lambda

Rollback = remettre l'alias en arrière

  • Pas de redéploiement requis.
  • Déplacez l'alias vers la dernière version saine.
  • Récupération en secondes, pas en heures.
  • Versions immuables et alias stables vont ensemble.

Rollback via déplacement d'alias

Applications serverless avec AWS Lambda

Surveiller durant la bascule

  • Erreurs et timeouts.
  • Durée et latence de queue.
  • Throttling si vous avez des plafonds.
  • Mettre en pause ou revenir vite.

Métriques de monitoring de déploiement

Applications serverless avec AWS Lambda

Écueil courant : traiter $LATEST comme prod

  • S'appuyer sur $LATEST fait perdre en prévisibilité.
  • Versions et alias clarifient ce qui tourne.
  • Les rollbacks sont sûrs.

Avertissement dérive de LATEST

Applications serverless avec AWS Lambda

Ignorer

Applications serverless avec AWS Lambda

Checklist de déploiement sûr

  • Publier une version.
  • Déplacer le trafic progressivement avec un alias.
  • Surveiller les résultats.
  • Garder le rollback prêt à chaque étape.

Checklist de déploiement sûr

Applications serverless avec AWS Lambda

Points clés

  • Les versions apportent la prévisibilité.
  • Les alias apportent la stabilité.
  • Le routage pondéré ajoute de la sécurité.
  • Rollback = déplacer l'alias.

Points clés du déploiement

Applications serverless avec AWS Lambda

Passons à la pratique !

Applications serverless avec AWS Lambda

Preparing Video For Download...