Gérer les environnements et les versions approuvées

Automatiser les déploiements sur AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Même code, trois environnements

même code

  • Promouvoir une version Lambda de la préprod vers la prod
  • Même artéfact, aucune recompilation
  • Un appel d'API met à jour l'alias prod ; le code ne change jamais
  • C'est « build once, deploy many »
Automatiser les déploiements sur AWS

Versions approuvées, par service

versions

  • Lambda : les alias pointent vers des versions de fonction
  • ECR + ECS : étiquettes d'image + révisions de définitions de tâche
  • API Gateway : étapes avec déploiements
  • S3 : versions d'objets dans des compartiments avec gestion de versions
Automatiser les déploiements sur AWS

Fonctionnement des alias Lambda

3-versions

  • Une version est un instantané immuable de la fonction
  • Un alias est un pointeur nommé vers une version
  • Mettez à jour l'alias pour promouvoir une version
  • Les alias prennent en charge le routage pondéré pour les déploiements canari
Automatiser les déploiements sur AWS

Étiquettes ECR et définitions de tâche ECS

  • Les images ECR sont immuables par empreinte (digest)
  • Une étiquette est une étiquette mobile sur une empreinte
  • Les définitions de tâche ECS référencent une image:tag ou @digest
  • En production, épinglez par empreinte pour figer les bits exacts

ecr

Automatiser les déploiements sur AWS

API Gateway : étapes en bref

  • Une étape est un déploiement de l'API
  • Chaque étape a son propre URL et un historique de déploiement
  • Promouvoir en déployant l'API vers l'étape suivante
  • Les variables d'étape conservent des valeurs d'exécution propres à l'environnement

api-2

Automatiser les déploiements sur AWS

Promouvoir une version

  • Construire l'artéfact une seule fois
  • Le valider en dev, puis en staging
  • Mettre à jour l'alias ou l'étiquette prod, aucune recompilation
  • Le même artéfact s'exécute dans chaque environnement

promotion

Automatiser les déploiements sur AWS

Séparer la configuration

séparer

  • Le code reste identique entre environnements
  • La configuration porte les différences dev/prod
  • Variables d'étape, variables d'environnement, Parameter Store, Secrets Manager
  • Ne jamais coder en dur des valeurs d'environnement dans l'artéfact
Automatiser les déploiements sur AWS

Passons à la pratique !

Automatiser les déploiements sur AWS

Preparing Video For Download...