The document discusses infrastructure as code and Azure Resource Manager. It begins by defining infrastructure and infrastructure as code, noting infrastructure as code treats infrastructure like code that can be versioned, repeated, and tested. It then discusses Azure Resource Manager, noting it provides a management layer for Azure with resource groups that group related resources and apply policies and billing. Templates in ARM allow defining repeatable configurations, specifying resources, dependencies, and parameters for automation and idempotency. The document ends discussing different approaches to structuring apps and infrastructure using resource groups and templates.