Aller au contenu

Infrastructure as Code, Heat and Terraform#


Définition de l'Infrastructure as Code (IaC)#

  • Infrastructure as Code (IaC) : approche pour gérer et provisionner les ressources informatiques
  • Utilisation de fichiers de configuration textuels pour décrire l'état souhaité de l'infrastructure
  • Mise en place de l'infrastructure automatisée avec des outils et des scripts

Avantages de l'IaC#

  • Rapidité de déploiement
    • Provisionnement automatisé des ressources
    • Réduction du temps consacré à la configuration manuelle
    • Accélération du processus de déploiement des infrastructures
  • Répétabilité
    • Uniformisation des environnements de développement, de test et de production
    • Réduction des erreurs humaines lors du provisionnement
    • Facilité de mise à l'échelle

Avantages de l'IaC (2)

  • Traçabilité
    • Suivi des modifications de l'infrastructure grâce au versionnement du code
    • Meilleure collaboration entre les équipes
    • Audit facilité des changements d'infrastructure
  • Simplification de la gestion des environnements
    • Centralisation des configurations et des paramètres
    • Définition claire des responsabilités
    • Réutilisation des configurations pour différents projets

Les principes de base de l'IaC#

  • Codification de l'infrastructure
    • Description de l'infrastructure avec un langage déclaratif
    • Utilisation de templates pour décrire les ressources et leurs relations
  • Versionnement du code
    • Utilisation de systèmes de gestion de version (ex. Git)
    • Suivi des modifications et collaboration entre les équipes

Les principes de base de l'IaC

  • Tests et validation
    • Vérification de la syntaxe et des erreurs dans les fichiers de configuration
    • Tests automatisés pour valider le comportement de l'infrastructure
    • Utilisation de l'intégration et du déploiement continu (CI/CD)
  • Automatisation du déploiement et de la gestion
    • Utilisation d'outils de déploiement (ex. Heat, Terraform)
    • Gestion des modifications d'infrastructure avec des pipelines automatisés
    • Contrôle des accès et des autorisations via des outils comme Keystone et Horizon