Terraform est l’outil de référence pour l’Infrastructure as Code, permettant de décrire et déployer des infrastructures Cloud de manière reproductible et versionnée. Cette formation vous apprend à écrire des configurations en langage HCL, utiliser les providers pour AWS, Azure ou GCP, structurer vos projets avec les modules et gérer l’état de vos déploiements. Vous repartirez avec les compétences pour automatiser la création d’environnements complets.
Public visé
Administrateurs systèmes, développeurs et architectes souhaitant automatiser le déploiement d’infrastructures Cloud.
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Expliquer les principes de l’Infrastructure as Code et ses bénéfices
- Installer et configurer Terraform sur différents systèmes
- Écrire des scripts Terraform pour créer, modifier et versionner des infrastructures Cloud
- Utiliser modules, variables, outputs, providers et Data sources
- Implémenter les bonnes pratiques de sécurité et modularité
- Orchestrer des déploiements multi-Cloud
Programme
Jour 1 - Matin
Introduction IaC (Infrastructure as Code)
- Infrastructure immutable
- Typologie des outils :
- Script ad hoc
- Outils de gestion de configuration
- Outils de génération de templates
- Orchestrateurs
- Avantages d’utilisation d’un outil tel que Terrafom
- Architecture distribuée, micro-services et automatisation
Introduction Terraform
- Historique et positionnement
- Langage HCL (HashiCorp Configuration Language)
- Cas d’usage
Travaux pratiques :
- Installation et premiers pas avec Terraform sur Linux
Jour 1 - Après-midi
Bases de Terraform
- Structure des projets et organisation du code
- Providers
- Identifiants
- Ressources
- Variables et fichiers de variables
- Outputs / fichiers de outputs
- Modules
- Templates
- Data Sources
Travaux pratiques :
- Connexion à AWS (Amazon Web Services) et à GCP (Google Cloud Platform)
- Création d’une instance et provision de soft dans les instances (Ansible, Scripts)
- Test de déploiement d’une appli Web / base de données
Jour 2 - Matin
Terraform avancé
- Boucles et conditions
- Meta Arguments
- Build-in fonctions
- Déploiements multi-Cloud
- State et Backend
- Remote State file
Aperçu de l’écosystème Terraform
- Chiffrer les données sensibles : Terraform et Vault
- Terragrunt
- Terraform Graph
- Terraform Registry
- TFLint
- Terraform-docs
- Terratest
- Terragrunt
- Brainboard
- Terraspace
- Infracost
- Terraform Enterprise
Jour 2 - Après-midi
Travaux pratiques :
- Déploiement d’un cluster Web (avec autoscaling)
- Installation et utilisation de Hashicorp Vault
- Visualisation de l’arbre de dépendance de Terraform Graph
- Utilisation du Terraform Registry (module public)
- Déploiement multi-environnement avec Terragrunt
Modalités d’évaluation des acquis
En cours de formation, par des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.
Voir aussi
Vous serez peut-être intéressés par les formations suivantes :
- Chef - Initiation
- Docker - Fonctionnalités avancées
- Infrastructure as Code (IaC)
- Kubernetes - Orchestration de conteneurs
Formation SYS-TERRAFORM-100 — Terraform - Initiation. Domaine : Systèmes. Niveau : Initiation. Durée : 2 jours (14 heures). Mots-clés : terraform, systèmes, infrastructure, cloud, iac, automatisation, devops, initiation. Cylian Formation, Dijon.