Aller au contenu

Automatiser l'infrastructure

Infrastructure as Code, Terraform, Ansible, configuration management et drift détection.


graph LR
    A["Fondamentaux"] --> B["Provisioning"]
    B --> C["Configuration"]
    C --> D["Drift"]
    D --> E["Testing"]
    E --> F["Patterns"]
    F --> G["Cas avances"]

Ce que vous allez apprendre

À la fin de ce tutoriel, vous serez capable de :

  • Comprendre les principes de l'Infrastructure as Code et ses avantages sur le ClickOps
  • Provisionner des ressources avec Terraform/OpenTofu (state, modules, plan/apply)
  • Gérer la configuration avec Ansible (inventaire, playbooks, rôles, vault)
  • Détecter et corriger le drift entre état desire et état réel
  • Tester l'infrastructure avec du linting, des tests unitaires et du policy as code
  • Appliquer les patterns IaC (modules réutilisables, workspaces, monorepo vs multi-repo)
  • Mettre en place du GitOps et des plateformes self-service

Prérequis

Prérequis Détail
Linux Administration système de base (SSH, packages, fichiers de configuration)
Git Branches, merge requests (voir dev/méthode Versionner)
Cloud ou VM Accès a un environnement cloud ou de virtualisation pour experimenter

Parcours

Section Contenu
Fondamentaux IaC vs ClickOps, immutable vs mutable, idempotence, declaratif vs imperatif
Provisioning Terraform/OpenTofu : state, modules, plan/apply, backends. Pulumi, CloudFormation
Configuration management Ansible : inventaire, playbooks, rôles, vault. Salt, Puppet, Chef. Push vs pull
Drift detection Ecarts état desire/réel, terraform plan en CI, reconciliation, alerting
Testing d'infrastructure tflint, ansible-lint, Terratest, Molecule, OPA, Sentinel, Checkov
Patterns et modules DRY vs WET, modules réutilisables, workspaces, monorepo vs multi-repo
Cas avances GitOps (ArgoCD, Flux), self-service, ephemeral environments, migration vers IaC