Automatisez le déploiement et la configuration avec Terraform
Description
La formation aborde les contenus techniques suivants :
- Les principes de l'infrastructure as code (IaC)
- Fonctionnement de Terraform
- Gestion des configurations d'infrastructure
- Utilisation des providers
- Orchestration et gestion des états
- Déploiement d'infrastructures sur plusieurs plateformes cloud
Cette formation s'adresse à toute personne souhaitant découvrir Terraform
Quels sont les buts de la formation ?
Les objectifs visés par cette formation sont :
- Comprendre le fonctionnement de Terraform et des infrastructures as code
- Créer et gérer des configurations d’infrastructure avec Terraform
- Automatiser le provisionnement des ressources sur des plateformes cloud (AWS, Azure, CP)
- Appliquer les bonnes pratiques pour gérer les états d’infrastructure et les modifications
Que devez vous connaître pour suivre la formation ?
Intermédiaire ou avancé
Programme de la formation
Introduction à l'Infrastructure as Code (IaC)
○ Présentation des concepts d’IaC et avantages pour la gestion des infrastructures
○ Présentation de Terraform : historique, concept, avantages et cas d'usage
○ Comparaison de Terraform avec d’autres outils IaC (CloudFormation, ARM, etc.)
Installation et Configuration de Terraform
○ Installation de Terraform sur différentes plateformes (Windows, Mac, Linux)
○ Configuration initiale et introduction à la CLI de Terraform
○ Présentation des fichiers de configuration .tf et de leur structure
Les Concepts de Base de Terraform
○ Le modèle de fonctionnement de Terraform : Providers, Modules, Variables
○ Création et gestion des fichiers de configuration Terraform
○ Premiers pas avec un provider : configuration de ressources sur AWS (ou autre cloud)
Gestion des Etats et des Backends
○ Comprendre l'état de Terraform et son rôle dans la gestion des ressources
○ Stockage local vs distant des états (backends distants, sécurisation des états)
○ Partage et collaboration via des backends distants (Terraform Cloud, S3, etc.)
- Création et Gestion d'Infrastructure
○ Création de ressources cloud (serveurs, réseaux, bases de données) via Terraform
○ Utilisation des modules pour structurer des configurations complexes
○ Utilisation des variables, outputs et interpolation pour la flexibilité des configurations
○ Gestion des dépendances entre les ressources
Gestion des Providers et des Modules
○ Comprendre les providers et leur rôle dans Terraform
○ Utilisation de multiples providers pour gérer des infrastructures multi-cloud
○ Introduction aux modules et création de modules personnalisés
○ Utilisation de Terraform Registry pour réutiliser des modules existants
Planification, Application et Gestion des Modifications
○ Planifier les modifications d'infrastructure : la commande terraform plan
○ Appliquer les changements et gérer les mises à jour avec terraform apply
○ Gérer les modifications et la suppression de ressources avec terraform destroy
Orchestration et Collaboration avec Terraform
○ Gestion des environnements (dev, test, prod) avec Terraform
○ Utilisation de workspaces pour gérer différentes configurations
○ Collaboration et travail en équipe avec Terraform Cloud ou des backends partagés
Bonnes Pratiques et Sécurité avec Terraform
○ Gestion de la sécurité et des accès dans les configurations Terraform
○ Versionner et auditer les configurations via Git et Terraform
○ Optimisation des configurations pour la performance et la maintenance
Exercices pratiques
- Configuration et provisionnement d'infrastructures simples sur AWS/Azure/GCP
- Utilisation des modules pour gérer une infrastructure multi-noeuds
- Mise en place d’un backend distant pour stocker et partager l'état
- Création de modules réutilisables pour des environnements complexes
- Déploiement d’une infrastructure complète sur plusieurs plateformes cloud