Terraform pour Azure

En ce moment je travaille sur Terraform ! J’ai trouvé beaucoup d’articles et de tutoriels très bien fait pour monter en compétences sur le sujet et comprendre comme l’utiliser pour provisionner des ressources Azure, je vais donc les partager avec vous 🙂

EVjeStEXYAAhbJA 300x300 - Terraform pour Azure

Terraform est un outil d’Infrastructure As Code qui permet de décrire les ressources (VM, VNet, Web App, cluster Kubernetes, base de données) à provisionner dans un environnement auquel on se connecte au moyen d’un provider.

Il peut s’agir d’un environnement Cloud comme Azure, AWS, GCP ou un environnement on premise sur VMWare. L’infrastructure est décrite grâce au langage de configuration HCL (Hashicorp Configuration Language).

Outils

Coté environnement de développement, le classique Visual Studio Code accompagné de l’extension Terraform Azure fera le job : pour le configurer c’est par ici.

Liens

Pour votre apprentissage, je vous conseille de commencer par ces deux vidéos de Stanislas Quastana, Cloud Solution Architect chez Microsoft. Elles sont très bien faites et apporte tout les éléments pour bien débuter.

https://www.youtube.com/watch?v=2Bh4NfLCslw
https://www.youtube.com/watch?v=YJsfVS6BZB4

Coté tutoriels je vous conseille cette suite d’articles écrit par Julien Corioland, ingénieur chez Microsoft. Il y explique en détails comment écrire et tester ces scripts puis les intégrer à un pipeline CI/CD avec Azure DevOps.

Des articles sympa également écrit par Florent Appointaire, MVP Azure :

  • Un tutoriel complet pour déployer un VNet et une VM Windows Server avec une IP Publique.
  • Et deux autres articles pour déployer du script Terraform avec Azure DevOps : Partie 1 et 2.

Pour conclure :

La doc officielle du provider Azure pour Terraform : https://www.terraform.io/docs/providers/azurerm/index.html

Un ensemble de ressource à utiliser dans ces scripts pour déployer dans Azure : https://registry.terraform.io/search?q=azure

Bonne découverte

Thomas

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *