RousselTMLEARNING

TP · DevOps : de la découverte à l'expertise

TP : Infrastructure as Code avec Terraform

Ce que vous allez apprendre dans ce TP
  • Écrire une configuration Terraform
  • Utiliser plan, apply et l'état
  • Détecter et corriger une dérive

Introduction #

Ce que vous allez apprendre dans cette section
  • Écrire une configuration Terraform
  • Utiliser plan, apply et l'état
  • Détecter et corriger une dérive

Contexte. Les environnements de test sont créés à la main et ne se ressemblent jamais. Vous les décrivez en code, avec le provider Docker pour travailler en local sans compte cloud.

Prérequis : Docker et Terraform (ou OpenTofu) installés  ·  Durée estimée : 40 min

Un environnement reproductible et une dérive détectée puis corrigée.

Mise en place #

Étapes guidées, avec leur correction.

  1. 1. Écrire la configuration

    Pourquoi ? La configuration décrit l'état souhaité ; Terraform calcule les actions.

    Dans iac-lab/, écrivez main.tf : un réseau, une image nginx et un nombre variable de conteneurs exposés sur 8081, 8082…, avec une sortie listant les URL.
  2. 2. Initialiser, vérifier, planifier

    Pourquoi ? fmt et validate sont les contrôles de la CI ; le plan est ce que l'on relit dans la pull request.

    Initialisez le projet, vérifiez le format et la validité, puis enregistrez un plan.
  3. 3. Appliquer et inspecter l'état

    Pourquoi ? L'état fait le lien entre le code et les ressources réelles.

    Appliquez le plan, testez les URL, puis listez et inspectez les ressources de l'état.
  4. 4. Faire évoluer l'infrastructure

    Pourquoi ? On change une variable, pas des commandes : le plan montre précisément l'écart.

    Passez à 3 instances avec -var, relisez le plan puis appliquez.
  5. 5. Détecter une dérive

    Pourquoi ? Une modification manuelle rend le code faux : Terraform la détecte et la corrige.

    Supprimez un conteneur à la main, détectez la dérive avec -detailed-exitcode (code 2), puis réappliquez.
  6. 6. Détruire

    Pourquoi ? Un environnement décrit en code se supprime et se recrée sans risque d'oubli.

    Détruisez tout, vérifiez qu'il ne reste rien, puis expliquez ce qu'il faudrait pour travailler en équipe (backend distant, verrou, CI).

Niveau de difficulté : ●●○○○ (2/5)

Mon suivi

  • ⏱ Durée estimée : ≈ 40 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

✉️ Poser une question

Glossaire de la formation

DevOps

Culture, mouvement et pratiques visant à unifier le développement logiciel (Dev) et l'administration des infrastructures informatiques (Ops).Découvrir...

DevSecOps

Intégration native de la sécurité (Security) dès la conception et tout au long du cycle de vie DevOps (approche "Shift-Left").Voir comment intégrer la...

AIOps (Artificial Intelligence for IT Operations)

Utilisation de l'intelligence artificielle et de l'apprentissage automatique pour automatiser et améliorer les opérations informatiques (ex: détection...

NoOps

Concept où l'environnement informatique est tellement automatisé et abstrait (ex: Serverless, PaaS) qu'il ne nécessite quasiment plus d'équipe opérati...

GitOps

Pratique de déploiement continu où un dépôt Git sert de source unique de vérité déclarative pour l'infrastructure et les applications.Maîtriser le dép...

FinOps (Financial Operations)

Culture de responsabilité financière du Cloud visant à maximiser la valeur métier en optimisant les coûts. Elle permet une collaboration étroite entre...

SRE (Site Reliability Engineering)

Discipline qui applique les principes de l'ingénierie logicielle aux problématiques d'exploitation. Le but est de créer des systèmes hautement scalabl...

Platform Engineering

Discipline consistant à concevoir et construire des chaînes d'outils et des flux de travail permettant aux développeurs de gérer leur infrastructure e...

Articles recommandés

Infrastructure as Code et GitOps : Terraform, Ansible et Argo CD

Gérer l'infrastructure comme du code : déclaratif ou impératif, Terraform (providers, état, plan,...

Mur de la confusion

Le 'mur de la confusion' (ou 'wall of confusion') est une métaphore souvent utilisée dans le cont...

Soutien Logistique Intégré

Soutien Logistique Intégré (SLI) (L'Integrated Logistics Support (ILS) en anglais), est une appro...

Application 12 Facteurs

Un guide détaillé sur la méthodologie des 12 facteurs pour le développement d'applications modern...

Le framework CALMS : Les 5 piliers du DevOps

Découvrez le framework CALMS, le socle indispensable pour réussir votre transformation DevOps à t...

Bonnes pratiques DevOps : culture, CI/CD, infrastructure as code et mesure

Bonnes pratiques DevOps : culture et collaboration, intégration et livraison continues, trunk-bas...

Tests de charge avec Grafana k6 : pourquoi et quels types de tests

Pourquoi tester la performance avant la production, les types de tests (smoke, charge, stress, pi...

Écrire des scripts k6 : requêtes, vérifications, scénarios et exécuteurs

La structure d'un script k6 (init, setup, default, teardown), les requêtes HTTP, les checks, les ...

Seuils, métriques et résultats d'un test k6

Lire le résumé d'un test k6, comprendre les métriques intégrées (http_req_duration, http_req_fail...