The Difference Between Ansible and Terraform and why to learn both
Some will say, and we agree, that the two serve the same market segments, and overlapping in the use cases they solve. But really they overlap in the provisioning part, as stated in the table below. So how are they different? Where do you use one vs the other?
With Terraform you are ONLY building infrastructure (cloud, VMware, etc). You or your Team are always going to need further orchestration and configuration management leveraging tools - like Ansible.
Once Terraform has built the infrastructure, we will kickstart Ansible to finish off the heavy lifting to get the machines/containers configured and working. This can be a very cohesive workflow, and plays to the strengths of both tools.
On the more advanced front, Terraform requires you to be ready to treat infrastructure truly as code. Your entire plan/blueprint exists as a part of your Terraform plan, with which you then apply to your targeted endpoint (AWS, Azure, Google, VMware) to build machines.