ARM templates is infrastructure as code, where you define the infrastructure that needs to be deployed in the form of the code. ARM templates use declarative syntax, meaning you define the resources for Azure to deploy without specifying how the resources are created.