Terraform is the de facto standard, with alternatives like OpenTofu, Pulumi and the clouds' own languages. Good IaC is built from small, clear modules with bounded responsibility — not monolith projects nobody dares touch.
IaC without automation becomes risky: pull request plans, policy checks and drift detection turn the code into a way of working rather than just a tool. We've written a hands-on tutorial (in Swedish) showing the approach: Ersätta AWS Access Keys med IAM Roles Anywhere.