Terraform : Le déploiement des infrastructures n'a jamais été aussi rapide

Étude de cas

6 minutes

lire

Vue d'ensemble

Nous utilisons Terraform de Hashicorp parce que nous sommes amoureux de l'idée appelée Infrastructure as Code (IaC) et qu'elle nous permet de déployer, tester et changer nos architectures rapidement et facilement. Il nous permet de déployer, tester et modifier nos architectures rapidement et facilement. Il nous permet d'utiliser facilement les mêmes configurations à plusieurs endroits pour réduire les erreurs et gagner du temps.

Aperçu technique

L'infrastructure en tant que code, ou infrastructure programmable, consiste à écrire du code pour gérer les configurations et automatiser l'approvisionnement de l'infrastructure en plus des déploiements.

Terraform est un outil conçu pour créer, gérer, mettre à jour et gérer les versions d'une infrastructure d'application reproductible. Il permet de créer, de modifier et d'améliorer l'infrastructure de manière sûre et prévisible. Il fonctionne parfaitement avec les services Web d'Amazon ainsi qu'avec d'autres grands fournisseurs de services en nuage (par exemple, AWS, Azure, Google Cloud, DigitalOcean).

Le déploiement d'une infrastructure adaptée n'a jamais été aussi simple. Plus besoin de cliquer sur la console pour créer une ressource ou de recommencer si vous vous trompez.

Use cases

Déployer la même conception d'infrastructure dans plusieurs comptes

Nous avons des clients qui ont besoin de déployer la même infrastructure dans plusieurs comptes. Avant d'avoir l'IaC, il n'y avait pas d'autre option que d'aller dans la console AWS et de créer les ressources nécessaires une par une. Dans ce cas particulier, cela implique de faire exactement la même chose, encore et encore, dans différents comptes.

Notre décision a été d'écrire une pile Terraform pour cette infrastructure et de la déployer dans tous les comptes. Nous pensons que c'est une bonne idée de s'en tenir à l'une des meilleures pratiques - mettre autant de variables que possible car cela garantit que votre code est réutilisable. Dans ce cas, c'est très important car une fois que vous avez la pile que vous voulez, vous pouvez simplement changer les valeurs de vos variables et vous avez un tout nouveau déploiement prêt.

Lorsqu'il est susceptible d'entraîner de nombreux changements dans votre infrastructure

Nous savons tous qu'il n'y a pas de projet qui n'ait qu'une seule version. Tous commencent par quelques idées, puis de nouvelles solutions s'ajoutent au tableau afin d'améliorer les choses et d'obtenir le meilleur résultat possible.

Cela inclut le fait d'avoir une infrastructure qui sera modifiée à plusieurs reprises dans le futur. La bonne nouvelle est que Terraform dispose d'un fichier appelé " terraform.tfstate " qui montre l'état de votre infrastructure stocké depuis la dernière fois que Terraform a été exécuté ou appliqué. Cela facilite grandement les changements à venir.

Avantages

‍Code réutilisable, infrastructure reproductible

Utilisez une seule pile pour déployer l'infrastructure dans différents comptes. Vous pouvez également utiliser facilement les mêmes configurations à plusieurs endroits afin de réduire les erreurs et de gagner du temps.

Déploiement facile, modules partageables

Il suffit de trois étapes dans votre terminal - "terraform init", "terraform plan", "terraform apply" - pour que toutes vos ressources soient créées.

‍Versioned, easy for changing infrastructure

Le code Terraform peut être stocké dans un système de contrôle des versions, être partagé et faire l'objet d'une collaboration entre les équipes. Si vous souhaitez modifier quelque chose de mineur dans vos ressources, il n'est pas nécessaire de tout recommencer, il suffit d'appliquer à nouveau "terraform".

Merci d'avoir lu cet article. Nous espérons qu'il vous a plu !

Contactez-nous pour plus d'informations sur notre accompagnement et notre expertise !