Before, we start authoring the ARM templates, we need to understand the other Azure services on which the Azure Function depends. The following services are automatically created when you create a function app:
As shown in the preceding screenshot, the function app (in this case azurefunctioncookbook-gateway) is dependent on an App Service Plan and a Storage Account:
- App Service plan: This could be either a regular App Service plan or a Consumption plan.
- Storage account: Azure Function runtime uses the Storage account to log diagnostic information that we can use for troubleshooting.
- Application Insights: An optional Application Insights account. If we are not using Application Insights, we need to create an application setting with the name AzureWebJobsDashboard in the application settings of the function that uses Azure Storage Table Service to log diagnostic information.
Along with these services, we would obviously need to have a resource group. In this recipe, we will assume that the resource group already exists.