Se rendre au contenu

Terraform — Orchestration d’infrastructures cloud

https://groupe-sr3.odoo.com/web/image/product.template/392/image_1920?unique=09e1d67
(0 avis)

À partir de 1480 € HT
Durée du cours : 2 jours - 14h

  • En entreprise ou à distance
  • Audit gratuit
  • Formateur expert dédié
  • Prise en charge OPCO possible

0,00 € 0.0 EUR 0,00 € Hors taxes

0,00 € Hors taxes

Cette combinaison n'existe pas.


Objectifs du cours

Standardiser l’infrastructure avec Infrastructure as Code (IaC) réduit les écarts entre environnements, accélère les mises en production et rend les changements traçables. Terraform permet de décrire l’état cible (réseaux, compute, bases, sécurité) et de l’atteindre de manière reproductible et idempotente — en mono ou multi-cloud. Cette formation installe un socle industrialisable : structure de code, modules réutilisables, gestion d’état remote & verrouillé, secrets protégés, contrôle d’exécution (dry-run, diff) et intégration CI/CD. Résultat : moins d’incidents, des déploiements prévisibles, et une vélocité projet accrue.  

À l’issue de la formation, les participantes seront capables de :

  • Poser les fondamentaux Terraform (providers, ressources, variables/locals, outputs, data sources, modules). 
  • Structurer un code réutilisable (modules, versions, registry) et gérer l’état (backends distants, verrous, workspaces). 
  • Sécuriser le delivery : dry-run/diff, politique d’erreurs, secrets (Vault), validations & linters.
  • Aller vers l’industrialisation : patterns multi-environnements, CI/CD, revue/approbation, garde-fous coût et conformité.

Public

  • Administrateurs systèmes, DevOps, architectes cloud, développeurs impliqués dans le déploiement/infrastructure. 

Prérequis

  • À l’aise avec Linux/SSH et les bases de scripting ; un compte cloud de test est un plus.

Contenu du cours

Partie 1 — IaC & bases de Terraform

  • Positionnement IaC : déclaratif vs impératif ; agentless, immutable, bénéfices business. 
  • Prise en main
    • Installation, terraform init/plan/apply/destroy.
    • Structure d’un dossier (main.tf, variables.tf, outputs.tf, providers.tf).
    • HCL (blocs, arguments, expressions).
  • Briques de base
    • Providers (AWS/Azure/GCP, etc.), ressources et data sources
    • Variables (types, valeurs par défaut, validation), locals, outputs.

Exercice : initialiser un projet et déployer une ressource simple sur un cloud choisi.

Partie 2 — Composer une infrastructure lisible

  • Modéliser les ressources
    • Réseau (VPC/VNet, sous-réseaux), compute, règles de sécurité, identités.
    • count / for_each, blocs dynamiques, dépendances (depends_on).
  • Paramétrer & factoriser
    • Fichiers .tfvars, conventions de nommage, templatefile() pour config.
    • Provisioners : cas exceptionnels (préférer cloud-init/services managés).

Exercice : “web + base” minimal paramétré (variables + for_each) avec sortie d’outputs exploitables.

Partie 3 — Modules & gestion d’état

  • Modules
    • Créer des modules réutilisables (interface claire, variables, outputs).
    • Registry privé/public, versionnage sémantique, contraintes de versions.
  • State management
    • État local vs remote backends (ex. S3 + DynamoDB lock, Azure Blob, Terraform Cloud).
    • Workspaces (dev/préprod/prod), migration/refactor de l’état (state mv, import).
    • Détection du drift, visualisation des dépendances (terraform graph). 

Exercice : migrer l’état vers un backend distant verrouillé et mettre en place des workspaces.

Partie 4 — Avancé : qualité, sécurité & robustesse

  • Langage & cycle de vie
    • Fonctions utiles, conditions/itérations, lifecycle (ignore_changes, create_before_destroy).
    • Forçage de recréation avec -replace (en remplacement du taint historique).
  • Sécurité & secrets
    • Variables sensibles, protections de l’état, intégration HashiCorp Vault / secrets managers. 
    • Validation & lint : terraform fmt/validate, Checkov/tfsec/Trivy, politiques (OPA/Sentinel, aperçu).

Exercice : durcir un module (validations + règles de sécurité) et le passer au scanner statique.

Partie 5 — Exécution maîtrisée, CI/CD & multi-cloud

  • Contrôler l’exécution
    • Plan reproductible, -refresh-only, -target (cas limités), journalisation.
    • Stratégies d’application (séquence, régions/projets), rollback pragmatique.
  • Industrialiser
    • Pipeline CI/CD : fmt → validate → scan → plan en artefact → approbation → apply.
    • Garde-fous : revue de plan, coûts (Infracost), tags & inventaires.
  • Multi-cloud
    • Alias de providers, modules “agnostiques”, mutualisation d’état, patrons d’organisation. 

Exercice : pipeline Git (lint/plan avec artefact, gate d’approbation, apply sur préprod).

Cours mis à jour en date du 08/09/2025