Maintenez votre infrastructure Azure avec Terraform
Terraform est un outil d'infrastructure en tant que code (IaC) appartenant à HashiCorp, qui vous permet de créer, déployer, modifier et gérer une infrastructure à l'aide de code. Il vous aide à définir les ressources et l'infrastructure dans des fichiers de configuration déclaratifs lisibles par l'homme et gère le cycle de vie de votre infrastructure.
Le code est l'instruction écrite dans un format lisible par l'homme avec l'extension (.tf) ou en (.tf.JSON), qui est écrit en langage de configuration Hashicorp (HCL).
Qu'est-ce que l'IaC ?
L'infrastructure en tant que code gère et approvisionne les centres de données informatiques via des fichiers de définition lisibles par machine, plutôt qu'une configuration matérielle physique ou des outils de configuration interactifs.[19659003]Pourquoi utiliser l'IaC ?
Historiquement, la gestion de l'infrastructure informatique était un processus manuel. Les gens mettaient physiquement en place les serveurs et les configuraient, ce qui prenait du temps et était coûteux. La gestion manuelle de l'infrastructure ne peut plus répondre aux exigences des entreprises en croissance rapide d'aujourd'hui.
Les organisations informatiques adoptent rapidement le cloud public, principalement basé sur les API, pour répondre aux demandes changeantes des clients et réduire les coûts. Cela leur permet de créer des applications pour prendre en charge un niveau d'élasticité beaucoup plus élevé et de déployer leur application sur des technologies de prise en charge telles que le conteneur Docker et le cloud public. La création, la gestion et le déploiement de code sur des outils tels que Terraform accélèrent la livraison.
Avantages d'IaC
Les avantages les plus importants de l'utilisation d'IaC sont :
Vitesse
IaC profite à l'informatique d'une entreprise l'architecture et le flux de travail car il utilise l'automatisation pour augmenter considérablement la vitesse d'approvisionnement du développement, des tests et de la production de l'infrastructure.
Cohérence
Puisque il s'agit de code, il génère le même résultat à chaque fois. Il a approvisionné le même environnement à chaque fois, permettant toujours une meilleure cohérence de l'infrastructure.
Coût
L'un des principaux avantages de l'IaC est de réduire les coûts de gestion de l'infrastructure. Avec tout ce qui est automatisé et organisé, les ingénieurs économisent du temps et de l'argent, investis dans l'exécution d'autres tâches manuelles et de travaux à plus forte valeur ajoutée.
Risque minimum
IaC permet une configuration de serveur qui peut être documentée, enregistrée et suivi plus tard pour référence. Les fichiers de configuration seront examinés par une personne ou une politique en tant que code (sentinelle) pour les fuites de sécurité.
Everything Codified
Le principal avantage d'IaC est le codage explicite pour configurer les fichiers en cours d'utilisation. Vous pouvez partager des codes avec l'équipe, les tester pour garantir l'exactitude, maintenir l'uniformité et mettre à jour votre infrastructure dans le même flux d'IaC.
Version Controlled
Comme les configurations d'infrastructure sont codifiées, nous peut se connecter au contrôle de version comme GitHub et commencer à le contrôler. IaC vous permet de suivre et de donner un aperçu de quoi, qui, quand et pourquoi quelque chose a changé au cours du processus de déploiement. Cela offre une plus grande transparence, qui fait souvent défaut dans la gestion d'infrastructure traditionnelle.
Terraform Workflow
Regardons de plus près un workflow terraform typique.
Terraform Init
La commande terraform init est utilisée pour initialiser un répertoire de travail contenant les fichiers de configuration Terraform.
Terraform plan
La commande terraform plan est utilisée pour créer un plan d'exécution.
Terraform Apply
La commande terraform apply est utilisée pour appliquer les modifications nécessaires pour atteindre l'état souhaité de la configuration.
Terraform Refresh
La commande terraform refresh est utilisé pour réconcilier l'état connu par Terraform (via son fichier d'état) avec l'infrastructure du monde réel. Cela ne modifie pas l'infrastructure mais modifie le fichier d'état.
Terraform Destroy
La commande terraform destroy est utilisée pour détruire l'infrastructure gérée par Terraform.
Avantages de Terraform
Il y a L'utilisation de Terraform présente de nombreux avantages :
Multi-Cloud
Terraform peut gérer l'infrastructure sur plusieurs plateformes cloud comme AWS, Azure et GCP.
Langue lisible par l'homme
Terraform peut également prendre en charge un langage lisible par l'homme pour créer le code et suivre les modifications des ressources tout au long des déploiements.
Maintenir et réutiliser
Modèles de configuration, c'est-à-dire des modules prédéfinis pour l'infrastructure composants, sont écrits, révisés, gérés et réutilisés après les avoir stockés sous VCS (Version Control System).
Flexibilité
Terraform gère non seulement IaaS (AWS, Azure, etc.) mais aussi PaaS (SQL, NodeJS). Il peut également stocker des variables locales telles que des jetons cloud et des mots de passe sous forme cryptée sur le registre Terraform.
Quoi de neuf avec Terraform ?
Terraform est écrit en GO et disponible sur plates-formes comme un seul binaire que vous placez dans le chemin du système. Plugins Fournit une intégration spécifique au service, y compris un fournisseur Azure. Terraform est disponible nativement dans Azure Cloud Shell.
Mise en route avec Terraform
Étape 1 : Installez Visual Studio pour écrire un code Terraform et ajouter les plug-ins Terraform dans Visual Studio
Étape 2 : Créez un répertoire pour tester l'exemple de code Terraform.
Étape 3 : Ouvrez un répertoire nouvellement créé dans Visual Studio et exécutez les commandes suivantes pour démarrer avec Terraform :
- Pour initialiser le répertoire terraform, utilisez #terraform init
- Pour vous connecter au cloud Azure, utilisez #az login
- Pour confirmer l'abonnement Azure actuel, utilisez #az account show
- Pour définir un abonnement Azure spécifique, utilisez #az account set –subscription "
"
Étape 4 : Créez un fichier nommé main.tf et insérez le code suivant comme indiqué dans l'instantané pour déployer les différentes ressources.[19659002] Les instantanés suivants montrent le code pour IT Infr déploiement d'une structure dans Azure Cloud. Toutes les valeurs de ressources sont indiquées avec les valeurs de test. Vous pouvez modifier ces valeurs en fonction de celles qui conviennent à notre environnement.
Fournisseurs
Nous pouvons travailler sur Terraform pour déployer les ressources sur Multi-Cloud.
Contrôle de version
Groupe de ressources
Configuration du réseau virtuel
Configuration du sous-réseau
Base de données-Réseau-Virtuel
Sous-réseau de base de données
Groupe de sécurité réseau
Machine virtuelle
Il existe plusieurs façons d'utiliser Te rraform : en tant qu'utilisateur individuel, d'une seule équipe ou d'une organisation entière à grande échelle. Choisir la meilleure approche pour la densité de collaboration nécessaire fournira le meilleur retour sur votre investissement dans le flux de travail de base de Terraform. Terraform introduit de nouvelles couches qui s'appuient sur ce flux de travail de base pour résoudre les problèmes propres aux équipes et aux organisations pour les organisations utilisant Terraform à grande échelle.
Source link