> Tech > Terraform, le provisioning facile dans le cloud

Terraform, le provisioning facile dans le cloud

Tech - Par Ludovik Dopierala - Publié le 28 juin 2019

Terraform propose une solution performante du provisioning des ressources présentes dans le cloud. Cet outil va devenir la référence incontournable pour tout administrateur cloud même s’il ne s’agit plus d’une solution exotique. Avec Terraform, le provisioning des machines virtuelles et du réseau n’a jamais été aussi simple et rapide.

Terraform, le provisioning facile dans le cloud
  • Terraform c’est quoi ?

Terraform est une application cliente open source qui permet de provisionner, c’est-à-dire de créer des ressources dans le cloud à l’aide de fichier de configuration. Vous piloterez vos ressources dans n’importe quel fournisseur de cloud majeur comme Google, Amazon AWS, OVH ou Microsoft Azure, mais pas seulement. La possibilité de piloter vos solutions en entreprise (on premise) comme VMware ESX ou Nutanix en fait un outil indispensable.

D’un point de vue technique, Terraform est développé en langage GO de Google (encore lui…).C’est un composant important dans ce que l’on nomme le DevOps c’est-à-dire l’interconnexion entre le monde des développeurs, des opérationnels et des infrastructures Share on X. En offrant l’Infrastructure as Code, Terraform complète ainsi les solutions d’  « Infrastructure as a Service ».

Microsoft inclut par exemple nativement Terraform dans son célèbre Cloud Shell Azure, preuve en est que cette solution a su faire sa place dans le nouveau monde.

  • Terraform un produit proposé par HashiCorp

HashiCorp est une société américaine fondée en 2012 par Mitchell Hashimoto et Armon Dadgar proposant des solutions en open source. Créée suite au bouleversement que le cloud computing apporte aux entreprises, Hashicorp propose de nombreux des outils open source et des produits commerciaux. Ceux-ci adressent différentes problématiques à l’ensemble de la chaîne IT d’une entreprise (développeurs, opérateurs et professionnels de la sécurité). On y retrouve une palette d’outils soit en Open Source soit en version payante c’est-à-dire avec un support permettant de gagner encore plus de temps dans la gestion des infrastructures cloud.

  • Terraform une application cliente

Terraform est une application cliente qui va utiliser des fichiers de configuration locale permettant de piloter une infrastructure. Celle-ci n’est pas uniquement cloud puisque qu’il existe des connecteurs appelés provider permettant de piloter de très nombreux composants. Il vous est également possible de créer vos propres providers afin de gérer des services spécifiques que vous auriez développés et exposés à l’aide d’API par exemple.

L’application Terraform se nomme terraform.exe. C’est un gros binaire qu’il suffit juste de copier sur votre poste de travail. Actuellement il fait environ 75 Mo.

  • Terraform et les fournisseurs de cloud

A l’origine, la vocation de Terraform était de simplifier le provisionning des ressources pour les fournisseurs de Cloud. Cependant au vu de la puissance du produit et de sa mise à disposition de la communauté Open Source, celui-ci fut adopté par de nombreuses entreprises.

Terraform est disponible dans le Cloud Shell de Microsoft Azure. Aussi, Microsoft documente également le déploiement de certaines ressources dans Azure via Terraform.

Que vous utilisiez un cloud public ou un cloud privé, de la virtualisation ou de l’hyperconvergence, Terraform est incontournable pour déployer une infrastructure complète.

Les concepts de Terraform

Aborder une nouvelle technologie s’avère délicate. Ainsi je vous présenterai de façon succincte les différents composants vous permettant une prise en main rapide du produit.

  • Un provider Terraform c’est quoi ?

Un provider est un agent qui permet de piloter un type de fournisseur. Nous parlerons par exemple du provider AWS pour gérer nos ressources dans Amazon AWS. Mais ne croyez pas que le nombre de providers est limité. Pour vous en convaincre, je vous invite à consulter ce lien afin de découvrir la liste à jour des providers existants. Cette liste ne fait que s’agrandir sans compter toutes celles que vous pouvez télécharger sur le fameux Git.

Pour faire simple, vous appelez dans votre fichier le provider correspondant à la ressource à provisionner. Celui-ci appellera les commandes spécifiques à son environnement. Lorsque Terraform exécutera votre projet, le provider défini sera téléchargé sur votre machine cliente dans le répertoire de votre projet. Terraform utilisera le provider pour passer toutes les commandes que vous aurez indiqué au fournisseur cloud (ou application). Bien entendu il faut que les commandes soient disponibles en mode API. Terraform est ainsi en mesure de les implémenter.

  • Le langage HCL de Terraform

Le terme HCL ne signifie pas Hardware Compatibilty List comme c’était le cas avec Microsoft mais HashiCorp Configuration Language. Ce sont des fichiers textes assez intuitifs qui décrivent ce qu’on souhaite effectuer Share on X. Bien entendu, même si les exemples que je vous présente ici sont relativement simples à comprendre, il est possible de créer un ensemble de fichiers qui peuvent ressembler à une usine à gaz pour un novice. Comme nous parlons d’Infrastructure as a Code, un minimum de connaissance de développement est fortement utile, tout comme lorsque vous développez un script.

Pour les plus courageux, il est possible d’utiliser des fichiers texte au format JSON afin de piloter votre infrastructure.

Tous les fichiers possèdent comme extension un « .tf » avec tf pour Terraform bien entendu. Voici un exemple d’un fichier .tf permettant de créer dans le cloud Amazon AWS (provider aws), une instance EC2 de type t2.micro basée sur une image ami centos de chez Amazon.

provider « aws » {

access_key = «  »

secret_key = «  »

region     =  » us-east-2″ »

}

resource « aws_instance » « serveur _web » {

ami           =  » ami-e1496384″

instance_type = « t2.micro »

}

Téléchargez cette ressource

Créer des agents dans Microsoft 365 Copilot

Créer des agents dans Microsoft 365 Copilot

Insight vous guide dans l’utilisation de la nouvelle expérience de création d’agents dans Microsoft Copilot Studio, disponible dans Copilot Chat. Découvrez les étapes clés pour concevoir, configurer et déployer ces nouveaux agents et injecter la puissance de l’IA directement dans le flux de travail.

Les plus consultés sur iTPro.fr

A lire aussi sur le site

À la une de la chaîne Tech