These are not competing tools - they are complementary. Terraform would (immutably, declaratively) build your infrastructure (as in provisioning resources). I'd use terraform if your inf. is terraform-friendly. I'd likely skip if your cloud provider is not aws.