J'utilise terraform pour déployer chez AWS et OVH, et même si la courbe d'apprentissage est un peu rude au début, c'est un vrai plaisir de l'utiliser au quotidien.
Rien que l'abandon de Cloud Formation (pour AWS) et la garantie que la totalité de la stack est redéployable à l'identique en 5 minutes, buckets S3 et services en tout genre d'AWS compris, vaut le coup. À condition que tout le monde joue le jeu et ne passe plus par les consoles pour modifier des paramètres en douce.
Mon conseil : faire tourner la validation, la simulation et l'application des stacks depuis la CI / CD du dépôt git sur lequel la configuration est commitée.
Ça permet une vraie agilité pour déployer.
Chez nous, la simulation est lancée automatiquement, mais l'application de la configuration est faite depuis un bouton de la CI, mais manuellement.
Ansible a des modules pour faire du provisionning, mais il est loin derrière terraform. Notamment pour les services autres que EC2.
Je les trouve plutôt complémentaires : terraform pour les ressources de l'infra, puis ansible (ou puppet) pour les dépendances systèmes à l'intérieur des instances.
Bonne journée à tous,
Théophile Helleboid