
Description :
Maîtrisez Terraform pour automatiser le déploiement et la gestion de votre infrastructure cloud en tant que code (IaC). Apprenez à écrire, valider et appliquer des configurations reproductibles pour AWS, Azure, GCP et d'autres fournisseurs. Découvrez comment organiser vos projets avec des modules, gérer les états et utiliser les workspaces pour différents environnements. Développez des compétences avancées en CI/CD pour l'infrastructure et en gestion des secrets dans vos déploiements Terraform.
Public
- - DevOps
- Administrateurs systèmes
- Ingénieurs cloud
Nos formations sont accessibles aux personnes en situation de handicap. Chaque situation étant unique, nous vous demandons de préciser l’adaptation nécessaire à l’inscription.
Objectifs de formation
- - Maîtriser la syntaxe HCL
- Définir et versionner l’infrastructure
- Gérer l’état et le cycle de vie des ressources
- Intégrer Terraform aux pipelines DevOps
Prérequis
- - Familiarité avec Infrastructure as Code
- Usage d’un cloud provider (AWS, Azure, GCP…)
Programme de formation
Terraform : Infrastructure-as-Code pour un Cloud automatisé et évolutif
Introduction à Terraform
- HashiCorp et écosystème de produits
Présentation de HashiCorp et des produits associés (Vault, Consul, Packer, etc.).
Introduction à l’intégration de Terraform avec d'autres outils HashiCorp.
Historique de Terraform
L’histoire de Terraform depuis sa création jusqu’à aujourd’hui.
Evolution de la popularité de Terraform dans le monde de l’infrastructure as code (IaC).
Les versions majeures de Terraform
Explication des différentes versions de Terraform (1.0, 0.x, et leur impact sur l’évolution des pratiques).
Premiers pas avec Terraform
- Installation de Terraform
Méthodes d'installation sur différentes plateformes (Windows, macOS, Linux).
Vérification de l'installation avec des commandes de base.
Configuration de Terraform
Paramétrage initial du fichier terraform.config et des variables d’environnement.
Configuration des providers (AWS, Azure, Google Cloud, etc.).
Découverte du logiciel
Introduction à l’interface en ligne de commande de Terraform.
Structure des fichiers Terraform (HCL, fichiers .tf, et fichier d’état).
Atelier : installation et configuration
Mise en place d’un environnement Terraform local.
Premiers tests de connectivité avec un provider cloud.
Les langages de Terraform
- HCL (HashiCorp Configuration Language)
Présentation du langage de configuration propre à Terraform.
Structure des blocs resource, provider, variable, output, et leur utilisation.
Variables, ressources, providers et outputs
Définition et utilisation des variables dans Terraform.
Déploiement et gestion des ressources avec des providers.
Utilisation des outputs pour récupérer des valeurs après le déploiement.
Cycle de vie des ressources
Explication du cycle de vie des ressources Terraform : création, mise à jour, destruction.
Gestion des modifications d’état avec terraform apply et terraform destroy.
HIL (HashiCorp Interpolation Language)
Introduction à l’utilisation des interpolations pour manipuler des variables dans Terraform.
Expressions et Fonctions
Utilisation des expressions dans les fichiers de configuration.
Présentation des fonctions Terraform disponibles pour manipuler des données (string, list, map).
Boucles et conditions
Explication des boucles (for, count) et des conditions (if) dans les configurations Terraform.
Atelier : premier déploiement d’infrastructure
Déploiement d’une infrastructure simple (par exemple, une instance EC2 sur AWS) avec Terraform.
Atelier : utilisation avancée des interpolations
Exercices pratiques avec des variables dynamiques, des expressions et des fonctions complexes.
Configuration de l'environnement de développement et tests
- Mise en place d’aide au développement
Utilisation des extensions Terraform pour IDE (ex. VSCode, IntelliJ).
Introduction à terraform fmt et terraform validate pour améliorer la lisibilité et la vérification des configurations.
Génération automatique de la documentation
Génération de documentation de votre infrastructure avec Terraform via des outils externes (ex. terraform-docs).
Gestion des fichiers et bonnes pratiques
Structuration des projets Terraform pour une meilleure gestion du code.
Gestion des environnements (ex. développement, staging, production) et utilisation des workspaces.
Atelier : configuration de l'environnement de développement
Configuration d’un IDE pour travailler avec Terraform.
Mise en place de l’intégration avec un dépôt Git et automatisation de la gestion de l’état.
Stratégie de tests avec Terraform
- Manipulation du fichier d’état
Gestion du fichier d’état (terraform.tfstate), stockage et sécurité.
Utilisation des backends distants pour centraliser l’état (ex. S3, Terraform Cloud).
Présentation de l’offre pour les entités Terraform Cloud
Introduction à Terraform Cloud pour la gestion des environnements collaboratifs et l’intégration continue.
Utilisation des équipes et des espaces de travail dans Terraform Cloud pour gérer l’infrastructure de manière centralisée.
Développement et utilisation de providers communautaires
Création de providers personnalisés pour intégrer Terraform avec d’autres outils et plateformes.
Recherche et utilisation de providers communautaires pour étendre les capacités de Terraform.
Utilisation en production
- Manipulation du fichier d’état
Gestion du fichier d’état (terraform.tfstate), stockage et sécurité.
Utilisation des backends distants pour centraliser l’état (ex. S3, Terraform Cloud).
Présentation de l’offre pour les entités Terraform Cloud
Introduction à Terraform Cloud pour la gestion des environnements collaboratifs et l’intégration continue.
Utilisation des équipes et des espaces de travail dans Terraform Cloud pour gérer l’infrastructure de manière centralisée.
Développement et utilisation de providers communautaires
Création de providers personnalisés pour intégrer Terraform avec d’autres outils et plateformes.
Recherche et utilisation de providers communautaires pour étendre les capacités de Terraform.
-
01 85 09 29 06
contact@oxformation.com
-


