Azure Resource Manager Templates are JSON files used to automate the deployment of Azure environments using infrastructure as code. With the use of infrastructure as code, the code repository for your project's applications now also has the way to deploy all the infrastructure required by your application in a coded, repeatable and versioned manner in the same way as the applications themselves.
Through ARM Templates, you automate the entire deployment of your environment, from the creation of the network, storage, virtual machines, and installation of dependencies to the deployment of the application itself in an orchestrated way.
Recently we've introduced a new language for developing ARM templates. The language is named Bicep, and is currently in preview. Bicep and JSON templates offer the same capabilities. You can convert templates between the two languages. Bicep provides a syntax that is easier to use for creating templates. For more information, see What is Bicep (Preview)
In another hand, if you are more familiar with opensource tools like Terraform to automate deployments on your IaC strategy, you can find a lot of useful resources here: