Terraform is great for the infrastructure, things that the IaaS / PaaS provides. For the configuration of servers I prefer to use Ansible.
Server configuration and software changes much faster than infrastructure and requires much more complex provisioning flows.
There is an easy way to link Terraform and Ansible together with a Dynamic Inventory that pulls the Infrastructure details from the cloud provider and creates a list grouped by type of machine and tags.
I haven’t done it in Azure but I used to successfully run critical infrastructures and its software using Terraform and Ansible in AWS and I have published a series of detailed tutorials explaining Terraform and How to Link Ansible with Terraform.
I am very interested in other ideas and what others are doing to achieve the same need.
Please take a look and see if it works for your needs: