Terraform-1 Présentation 👨‍🏫

Objectifs:
🎯 Automatiser le déploiement de ressources sur des providers cloud.

Prérequis:
💡 N/A


logo de terraform, outil devops d'automatisation de déploiement de machines.

Terraform est un logiciel libre utile pour l'automatisation de déploiements de machine ou autres ressources (vpc, firewall ...). Les ressources que vous voulez créer peuvent être sur différentes platformes, terraform gère cela à l'aide de la notion de providers. Les providers possibles sont GCP, AWS, proxmox etc...

schéma architecture terraform.

L'automatisation de tâches de déploiement de machine se fait à l'aide de projets et de modules terraform.
Les projets doivent au minimum contenir un fichier main.tf. Dans ce dernier on peut définir le provider à cibler, des variables, les ressources à créer.

Pour plus de visibilité dans le main.tf on peut séparer les actions dans divers fichier.tf.

Pour plus de visibilité dans le projet on peut séparer les actions en blocs réutilisables nommés modules

Les deux affirmations précédentes seront plus détaillées dans les chapitres suivants, avant cela passons à quelques définitions.

Projet: 📑
Le projet est un dossier contenant au moins un fichier main.tf dans lequel un provider est déclaré.

Module: 📂
Permet de centraliser dans un dossier les tâches et les variables nécessaires à un déploiement spécifique.
Par exemple pour le déploiement de vm sur GCP je me suis crée un module vms pour aller plus vite.

Provider: 📦
Un provider peut-être un hyperviseur ou un cloud dans lequel on veut déployer des ressources.
Vous pouvez trouver la liste des providers ici.


Conclusion:
Maintenant que nous connaissons les composants essentiels, il va nous falloir installer terraform.
Pour cela rendez-vous au chapitre suivant Terraform-2 Installation.