Orchestrer la configuration de votre infrastructure avec Terraform

  • Filière :

    DevOps & Infrastructure

  • Sous-filière :

    DevOps

  • Référence

    TF-OC

  • Durée

    2 jours (14 h)

  • Prix par personne HT

    Sur demande

Objectifs pédagogiques

  • Connaître le fonctionnement et les cas d’usage de Terraform
  • Comprendre les apports d’une solution d’orchestration et d’automatisation pour votre infrastructure
  • Savoir mettre en œuvre les bonnes pratiques permettant d’optimiser son efficacité dans la gestion d’infrastructures avec Terraform
  • Connaître et décrire les solutions tierces permettant d’enrichir ses outils d’Infrastructure as Code

Public cible

Cette formation s’adresse aux administrateurs, développeurs et architectes souhaitant apprendre à utiliser Terraform pour orchestrer leurs applications et piloter leurs workloads sur leurs infrastructures virtuelles ou Cloud.

Pré-requis

  • Connaissances de base de l’administration d’un système Unix/Linux
  • Connaissance des architectures cloud et plus particulièrement des spécificités des acteurs du marché (Azure, AWS, GCP)

Modalités d’évaluation

L’évaluation des acquis se fait tout au long de la session au travers d’ateliers de mise en pratique des notions et concepts abordés pendant la formation.

Programme de la formation

Jour 1

Introduction à l’Infrastructure As Code

  • Objectifs de l’Infrastructure As Code
  • Culture DevOps et IaC
  • Philosophie d’une infrastructure immutable
  • Infrastructure As Code – Les outils IaC
  • Origine de l’automatisation
  • Les apports d’une solution d’orchestration et d’automatisation

Les trois grandes familles de l’automatisation et leurs outils 

  • Outils de gestion des templates
  • Outils d’orchestration

Outils de gestion de configuration

  • Les solutions tierces

Travaux pratiques :

Démonstration autour des outils précédents sous forme de « tour d’horizon fonctionnel »

 

Introduction à Terraform

  • Les principes fondamentaux de Terraform
  • Présentation des autres outils d’HashiCorp
  • Introduction au langage HCL de Terraform (HashiCorp Configuration Language)
  • Le standard JSON

Travaux pratiques :

  • Installation de Terraform,
  • Introduction au langage Terraform

 

Présentation succincte de la plateforme de Cloud Azure

  • Présentation des ressources de base Terraform sur Azure :
    • Providers
    • Ressources
    • Variables
    • Data-source
  • Visualisation des ressources créées avec Terragraph

Travaux pratiques :

Déploiement de ressources sur Azure :

  • Déploiement d’un serveur sur Azure
  • Déploiement d’un serveur web sur Azure
  • Déploiement d’un cluster de Serveurs Web sur Azure
  • Déploiement d’un LoadBalancer sur Azure

 

 

 

 

 

 

 

Jour 2

Faciliter la réutilisation du Code Terraform

  • Présentation du système de modules Terraform
  • Présentation du Hub communautaire Terraform
  • Création d’un module
  • Gestion des Input
  • Gestion des Output

Travaux pratiques :

  • Création d’un module Terraform pour Azure
  • Créer un module Terraform de gestion d’un cluster de Serveurs Web avec LoadBalancer frontal sur Azure

 

Terraform et Multi-Cloud

  • Présentation succincte de la plateforme de cloud Google Cloud Platform (GCP)
  • Présentation des ressources de base Terraform sur GCP

Travaux pratiques :

  • Création d’un module Terraform pour GCP
  • Créer un module Terraform de gestion d’un cluster de Serveurs Web avec LoadBalancer frontal sur GCP

 

Terraform : notions avancées

  • Les conditions
  • Les boucles
  • Terraform et mise à jour de l’infrastructure sans interruption de service
  • Bonnes pratiques

Travaux pratiques :

  • Création d’un module de gestion des utilisateurs IAM sur Azure (boucle)
  • Modification du module de Cluster WEB sur Azure pour ajouter la possibilité d’activer le monitoring Azure Monitor (condition)
  • Mise à jour du cluster de Serveurs Web avec Terraform sans interruption de service

 

Utiliser Terraform en équipe

  • Présentation du fichier « Terraform State »
    • Partager le fichier « Terraform State »
    • Protéger le fichier « Terraform State » des écritures concurrentielles
    • Versionner le fichier « Terraform State »
  • Best-Practice de gestion du Code Terraform en équipe
  • Gestion des Secret dans Terraform
  • Tester et valider le code Terraform

Travaux pratiques :

  • Mise en place d’une solution de gestion du fichier « Terraform State » sur Azure
  • Versionner et stocker le code Terraform sur Azure
  • Mise en place d’un test automatique du code Terraform sur Azure

Programme mis à jour le