Comprendre la configuration impérative et déclarative

Effectué

Il existe quelques approches différentes que vous pouvez adopter pour implémenter l’infrastructure en tant que code et configuration en tant que code.

Deux des principales méthodes d’approche sont les suivantes :

  • déclaratif (fonctionnel). L’approche déclarative indique ce que l’état final doit être. Lors de l’exécution, le script ou la définition initialise ou configure l’ordinateur pour que l’état terminé soit déclaré sans définir comment cet état final doit être atteint.

Une flèche pointe d’une icône de script vers une icône de deux roues dentées représentant des procédures de codage.

  • impératif (procédural). Dans l’approche impérative, le script indique comment atteindre l’état final de la machine en suivant les étapes pour parvenir à l'état final. Il définit ce que doit être l’état final, mais inclut également la façon d’atteindre cet état final. Il peut également se composer de concepts de codage tels que pour, if-then, boucleset matrices.

Une flèche pointe d’une icône de script vers une icône de deux roues dentées représentant des procédures de codage, suivie d’une autre flèche pointant vers une image représentant une application dans son état final.

Meilleures pratiques

L'approche déclarative occulte la manière dont un état est atteint. Par conséquent, il peut être plus facile de lire et de comprendre ce qui est fait.

Il facilite également l’écriture et la définition. Les approches déclaratives séparent également l’état souhaité final et le codage requis pour atteindre cet état.

Par conséquent, il ne vous oblige pas à utiliser une approche particulière, ce qui permet l’optimisation.

Une approche déclarative serait généralement l’option préférée où la facilité d’utilisation est l’objectif principal. Les fichiers de modèle Azure Resource Manager sont un exemple d’approche d’automatisation déclarative.

Une approche impérative peut avoir des avantages dans des scénarios complexes où des changements dans l’environnement se produisent relativement fréquemment, ce qui doit être pris en compte dans votre code.

Il n’existe aucune approche absolue à adopter, et les outils individuels peuvent être utilisés sous des formes déclaratives ou impératives . La meilleure approche à adopter dépend de vos besoins.