Azure Functions + EventGrid Subscriptions With Terraform

I think I figured it out. I have been working with Serverless Microservices Architecture on Azure for quite some time. I’ve been trying to leverage Terraform to effectively manage the extensive configuration of PaaS services on Azure. Due to immaturity of the Terraform AzureRM provider I’ve encountered well-documented challenges. This is the last major hurdle … Continue reading Azure Functions + EventGrid Subscriptions With Terraform

Using Terraform to Provision Microservices with Azure API Management Backed by Azure Functions

So I’ve talked about the fact that the Azure Function resource in the AzureRM provider does not support the exporting of the Key necessary to integrate Azure Functions with Azure API Management. However, I have recently employed a work around, whereby you are able to export the Azure Function Key using the Resource Group Template … Continue reading Using Terraform to Provision Microservices with Azure API Management Backed by Azure Functions

Terraform + Azure DevOps Environment Variable Piping Tips

When establishing good security processes around your software release pipeline it’s important to ensure that secrets are handled with care. As a best practice, I always ensure secrets that need to be used in a CI / CD pipeline are stored in Key Vault and imported into an Azure DevOps Variable Group. This allows the … Continue reading Terraform + Azure DevOps Environment Variable Piping Tips

Azure Serverless Architecture Automation with Terraform Explained

Here is a higher level view of the architecture and all the things that Terraform is provisioning. Based on my previous post, we know that certain things still require manual intervention but Terraform can provision a lot of stuff: Resource Group Event Grid Topics (but no Topics Subscriptions due to Function Access Key limitation) CosmosDB … Continue reading Azure Serverless Architecture Automation with Terraform Explained

Challenges using Terraform with Azure Serverless Architecture

We’ve been exercising the AzureRM and AzureAD Terraform providers with a healthcare client who wants to go serverless with a new product they are building. We’ve been able to automate a significant portion of the infrastructure with relative ease, however, there are limitations to both the Terraform providers and the operational models of Azure Functions … Continue reading Challenges using Terraform with Azure Serverless Architecture

Configuring AzureAD provider in Terraform to manage App Registrations

Automating the provisioning of Application Registrations (i.e. App Registrations) can be a very useful way of organizing your application’s Infrastructure as Code. Keeping track of all these disparate app registrations, who they belong to, what they are for, can be very tedious and challenging. It can get messy very quickly as well and a wary … Continue reading Configuring AzureAD provider in Terraform to manage App Registrations

Switching from “Azure” to “AzureRM” Terraform Backend

Terraform no longer supports “azure” as a backend. So if you have a backend configuration that makes reference to the “azure” backend provider you will get the following warning: All you need to do is change the following property in your backend configuration file: To the following: Nothing else has to change. Just re-initialize your … Continue reading Switching from “Azure” to “AzureRM” Terraform Backend