Introduction à Heat
- Origines et objectifs
- Projet OpenStack dédié à l'orchestration
- Automatiser et gérer le déploiement d'infrastructures complexes
- Composants principaux
- heat-api: interface RESTful pour interagir avec Heat
- heat-engine: cœur de l'orchestrateur, traite les templates et exécute les actions
- heat-dashboard: plugin Horizon pour gérer Heat depuis l'interface web
- Fonctionnement de Heat
- Utilisation de templates YAML (Heat Orchestration Template, HOT)
- Description des ressources, paramètres et dépendances
- Déploiement, mise à jour et suppression des stacks
- Origines et objectifs
- Outil IaC multi-cloud développé par HashiCorp
- Provisionner, modifier et détruire des infrastructures de manière déclarative
- Composants principaux
- Terraform Core: interprète les fichiers de configuration et gère les ressources
- Providers: extensions pour interagir avec différentes plateformes (OpenStack, AWS, etc.)
- Modules: réutilisation de configurations pour faciliter la gestion de l'infrastructure
- Fonctionnement de Terraform
- Utilisation de fichiers de configuration HCL (HashiCorp Configuration Language)
- Description des ressources, variables et dépendances
- Planification et exécution des changements d'infrastructure
- Points communs et différences
- Les deux permettent l'automatisation et la gestion d'infrastructures
- Heat est spécifique à OpenStack, Terraform est multi-cloud
- Avantages et inconvénients de chaque solution
- Heat: intégration native avec OpenStack, moins polyvalent que Terraform
- Terraform: prise en charge de plusieurs plateformes, courbe d'apprentissage plus longue
- Cas d'utilisation typiques
- Heat: déploiements OpenStack purs, gestion des ressources OpenStack spécifiques
- Terraform: déploiements multi-cloud, infrastructure hybride
- Interaction avec les briques OpenStack
- Heat: intégration native avec Nova, Swift, Glance, Neutron, etc.
- Terraform: utilisation du provider OpenStack pour interagir avec les briques
- Configuration et authentification
- Heat: configuration via openrc.sh, authentification avec Keystone
- Terraform: configuration du provider OpenStack, authentification avec les variables d'environnement
- Exemples d'utilisation pour OpenStack
- Heat: déploiement de VMs, création de réseaux, ajout de stockage, etc.
- Terraform: provisionnement de VMs, allocation d'adresses IP, configuration de réseaux, etc.