Hocam Terraform ayrı bir kategoride, Ansible / Puppet / Chef ayrı bir kategorideler. Terraform altyapı konfigürasyon yönetimini, diğerleri ise Sunucu / Uygulama konfigürasyon yönetimlerini yapar. Bunları genellikle Terraform + Ansible veya Terraform + Puppet gibi birbirleriyle ikili olarak bir arada kullanırsınız, altyapı konfigürasyonunu Terraform ile, sunucu / uygulama konfigürasyonlarını ise diğerleriyle çözersiniz.
Terraform altyapı yapılandırmasında tek diyebilirim. Her ne kadar Ansible de o işlere girmeye kalkıyorsa da, elma ile armuttan bahsediyoruz, o işi Terraform gibi yapabilen yok. Yani napıyorsunuz? Terraform ile bir komut verip, bütün AWS, Cloudflare, Linode/Hetzner vb. ya da diğer bulut yapılandırmalarınızı yönetiyorsunuz.
Sunucu / uygulama konfigürasyon yönetimlerinden bahsedersek, Ansible doğru bir tercih diyebilirim. Puppet ve Chef çok eski hikayeler, ve zaten insanlar onları kullanırken sürekli bir noktada köşeye sıkıştığından Ansible (ve burada bahsetmemişsiniz ama Salt Stack) ortaya çıktı. Ben birkaç yıl Salt Stack kullandım, akabinde Ansible'ye geçiş yaptım ve epey memnun olduğumu söyleyebilirim. Çok esnek, okunabilir ve yönetilebilir bir şekilde tüm sistemlerimi ve uygulamalarımı yönetebiliyorum.