Aller au contenu

Déclaratif et impératif

Impératif : on donne au système une suite d'ordres, dans l'ordre (« crée ce réseau, puis cette instance, puis attache l'une à l'autre »). Le résultat dépend de l'état de départ, et relancer les ordres crée souvent des doublons ou des erreurs. Un script Bash ou une suite de commandes scw sont impératifs.

Déclaratif : on décrit le résultat voulu (« ce réseau et cette instance attachée existent »), et l'outil compare la description à la réalité pour en déduire les actions nécessaires, y compris aucune. Terraform, OpenTofu, les manifestes Kubernetes et cloud-init sont déclaratifs.

Le déclaratif rend les opérations idempotentes et permet la convergence ; il ne supprime pas les appels d'API sous-jacents, il en confie l'ordre à l'outil.

Dans les cours

Voir aussi