Heat
Le Heat est le projet principal du programme OpenStack Orchestration. Il implémente un moteur d'orchestration pour lancer plusieurs applications infonuagique composites basées sur des gabarits sous forme de fichiers texte pouvant être traités comme du code. Un format de gabarit Heat natif évolue, mais Heat s'efforce également d'assurer la compatibilité avec le format de gabarit AWS CloudFormation, afin que de nombreux gabarits AWS CloudFormation existants puissent être lancés sur OpenStack. Heat fournit à la fois une API ReST native d'OpenStack et une API de requête compatible AWS CloudFormation.
Principe de fonctionnement
Un gabarit Heat décrit l'infrastructure d'une application infonuagique dans un fichier texte lisible et inscriptible par des humains, et peut être archivé dans le contrôle de version, modifié,...
- Les ressources d'infrastructure pouvant être décrites incluent : les serveurs, les adresses IP flottantes, les volumes, les groupes de sécurité, les utilisateurs,...
- Heat fournit également un service de mise à l'échelle automatique s'intégrant à la télémétrie, afin que vous puissiez inclure un groupe de mise à l'échelle en tant que ressource dans un gabarit.
- Les gabarits peuvent également spécifier les relations entre les ressources (par exemple, ce volume est connecté à ce serveur). Cela permet à Heat de faire appel aux API d'OpenStack pour créer toute votre infrastructure dans le bon ordre afin de lancer complètement votre application.
- Heat gère l'ensemble du cycle de vie de l'application : lorsque vous devez modifier votre infrastructure, modifiez simplement le modèle et utilisez-le pour mettre à jour votre pile existante. Heat sait comment apporter les changements nécessaires. Il supprimera également toutes les ressources lorsque vous aurez terminé avec l'application.
- Heat gère principalement l'infrastructure, mais les gabarits s'intègrent bien aux outils de gestion de configuration logicielle tels que Puppet et Chef.
Architecture
Heat comprend un certain nombre d'applications Python :
Application | Description |
---|---|
heat | L'outil Heat est une CLI communiquant avec l'API Heat pour exécuter les API d'AWS CloudFormation. Bien entendu, cela n'est pas obligatoire : les développeurs peuvent également utiliser directement les API Heat. |
heat-api | La composante heat-api fournit une API ReST native d'OpenStack traitant les requêtes API en les envoyant au moteur thermique via RPC. |
heat-api-cfn | La composante heat-api-cfn fournit une API de requête de style AWS compatible avec AWS CloudFormation et traite les demandes d'API en les envoyant au moteur thermique via RPC. |
heat-engine | Le moteur thermique effectue le travail principal consistant à orchestrer le lancement des modèles et à renvoyer les événements au consommateur de l'API. |