1. Livres & vidéos
  2. Architecture AWS
  3. Automatisation et DevOps sur AWS
Extrait - Architecture AWS Concevez des infrastructures cloud robustes, sécurisées et évolutives
Extraits du livre
Architecture AWS Concevez des infrastructures cloud robustes, sécurisées et évolutives Revenir à la page d'achat du livre

Automatisation et DevOps sur AWS

Introduction

La transformation DevOps n’est pas seulement une question d’outils : c’est un changement de culture et de méthode. Elle repose sur trois piliers : l’automatisation, la collaboration et la fiabilité continue (observabilité, respect des SLO, capacité de retour arrière). Dans AWS, ces principes prennent vie grâce à un écosystème riche : infrastructure as code, pipelines CI/CD, orchestration, observabilité et déploiement progressif.

Ce chapitre explore comment construire un cycle complet d’automatisation sur AWS, depuis la création des infrastructures avec Terraform, CloudFormation ou le CDK, jusqu’aux pipelines de déploiement et aux stratégies avancées de mise en production.

Infrastructure as Code : Terraform, CloudFormation et AWS CDK

1. Le principe de l’Infrastructure as Code (IaC)

L’Infrastructure as Code (IaC) consiste à décrire l’infrastructure sous forme de code, plutôt que de la configurer manuellement dans la console AWS. Ce paradigme apporte plusieurs avantages majeurs :

  • Traçabilité : tout changement est versionné dans Git.

  • Reproductibilité : la même configuration peut être déployée dans plusieurs environnements.

  • Automatisation : les déploiements deviennent rapides, cohérents et audités.

Au lieu d’un « clic » dans la console, on écrit des fichiers décrivant les ressources à créer : VPC, sous-réseaux, IAM Roles, S3, EC2, EKS… Ces fichiers sont exécutés par des outils spécialisés, garantissant que l’état réel correspond à la configuration déclarée.

Images/ei08sanstitre.png

Boucle de gestion IaC (schéma conceptuel, illustré ici avec le vocabulaire Terraform) : code --> plan --> apply --> drift detection

2. AWS CloudFormation : la solution native

AWS CloudFormation est le service natif d’IaC d’AWS. Il permet de décrire des piles (« stacks ») à l’aide de fichiers YAML ou JSON.

Un exemple simple...

CI/CD avec AWS CodePipeline, GitOps et ArgoCD

1. La chaîne CI/CD sur AWS

L’intégration continue (CI) et le déploiement continu (CD) sont essentiels au DevOps. AWS propose une suite complète et intégrée :

  • CodeCommit : dépôt Git managé ;

  • CodeBuild : exécution des builds, tests et packaging  ;

  • CodeDeploy : déploiement automatique sur EC2, ECS, Lambda ;

  • CodePipeline : orchestration des étapes.

Un pipeline typique en YAML :

Stages: 
  - Name: Source 
    Actions: 
      - Name: Checkout 
        ActionTypeId: 
          Category: Source 
          Owner: AWS 
          Provider: CodeCommit 
  - Name: Build 
    Actions: 
      - Name: RunBuild 
        ActionTypeId: 
          Category: Build 
          Owner: AWS 
          Provider: CodeBuild  
Images/pipeline.png

Chaîne CI/CD : Commit -->...

Gérer les mises en production : Blue/Green, Canary et Feature Flags

1. Déploiement Blue/Green

Le déploiement Blue/Green consiste à maintenir deux environnements identiques :

  • Blue : version en production ;

  • Green : nouvelle version.

Une fois validée, la bascule se fait via le Load Balancer (ALB) ou Route 53. En cas d’incident, le rollback est immédiat.

Exemple concret

Un service ECS déploie une nouvelle image Docker dans la « green » task definition. Une fois les tests réussis, CodeDeploy redirige le trafic de « blue » vers « green ».

Avantage

Aucun temps d’arrêt. L’utilisateur ne voit jamais la transition.

Images/bluegreen.png

Blue/Green Deployment : deux environnements actifs alternés

2. Déploiement Canary

Le Canary Deployment consiste à exposer la nouvelle version à un petit pourcentage d’utilisateurs avant généralisation. On parle d’« échantillon témoin », comme dans l’industrie.

Sur AWS, on peut gérer ce routage progressif avec :

  • CodeDeploy (ECS/Lambda) ;

  • App Mesh ou API Gateway (Weighted Routing) ;

  • Route 53 Weighted Routing Policies.

Exemple concret

Une API reçoit 5 % du trafic sur la nouvelle version (v2). Si aucune alerte n’est détectée sous 15 minutes...