Table of Contents
Fiche pédagogique
- Objectifs SMART : concevoir des modules Terraform réutilisables, industrialiser Terragrunt/Atlantis et mettre en place un FinOps Infracost en 15 jours.
- Durée : 14 h (6 h théorie, 8 h pratique)
- Prérequis : bases cloud (AWS ou GCP), Git, Linux.
- Niveau : Intermédiaire → Avancé.
Sommaire
- Design IaC & patterns Terraform
- Gestion d’environnements avec Terragrunt/GitOps
- Pipeline IaC (tests, sécurité, FinOps)
- Cas réel : landing zone multi-cloud
- Labs, quiz, checklist
- Ressources & synthèse
1. Design IaC & patterns Terraform
- Modules vs stacks, state remote (S3 + DynamoDB, GCS + Cloud KMS).
- Structuration mono repo / multi repo, conventions (
versions.tf,providers.tf). - Tests : Terratest, tflint, tfsec.
module "network" {
source = "./modules/network"
cidr_block = var.vpc_cidr
az_count = 3
}
2. Terragrunt & GitOps
- Hiérarchie :
live/<env>/<region>/<stack>. - DRY avec
terragrunt.hcl(generate blocks, remote_state). - Automatisation : Atlantis, Terraform Cloud.
- GitOps : PR → plan commenté → approbation → apply.
3. Pipeline IaC
- Format/lint :
terraform fmt,tflint,tfsec - Tests : Terratest (Go), cloud-nuke pour clean labs.
- FinOps : Infracost.
stages: [fmt, lint, plan]
fmt:
script:
- terraform fmt -check -recursive
lint:
script:
- tflint --init
- tflint
plan:
script:
- terraform init
- terraform plan -out plan.tfplan
4. Cas réel : landing zone multi-cloud
Objectif : créer foundation AWS + GCP avec policy, budgets, networking.
- Terraform modules partagés (IAM, VPC, logging).
- Terragrunt pour orchestrer environnements prod/staging.
- Atlantis + Infracost : plan commenté + estimation coûts.
- Résultat : temps de déploiement divisé par 3, conformité auditable.
5. Labs, quiz, checklist
| Lab | Objectif | Livrable |
|---|---|---|
| Lab modules | Créer module réseau + tests Terratest | Dépôt Git + rapport tests |
| Lab Terragrunt | Déployer 2 environnements (dev/prod) | Repo live + workflow Atlantis |
| Lab FinOps | Intégrer Infracost | Commentaire PR + capture |
Quiz : ordre de résolution Terraform, différence locals/variables, rôle de dependency Terragrunt. Checklist pair : version pinning, backends verrouillés, plan signé.
6. Ressources & synthèse
- Terraform Docs, Terragrunt Docs, Pulumi.
- Guides : GCP Landing Zone, AWS Landing Zone.
- Outils : Spacelift, env0.
- Certifs : Terraform Associate.
À retenir : factorisez vos modules, automatisez les plans et rendez les coûts visibles. Ce parcours se combine avec CI/CD et FinOps.