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
Azure
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
Azure API Management Backend Management with PowerShell
If you are using API Management you Might have noticed that there is no Azure Portal Access to view the Backends that are created automatically when you import you API from wherever. You might have also noticed it takes a ridiculously long time to provision and API Management resource. Therefore, destroying it completely and re-creating … Continue reading Azure API Management Backend Management with PowerShell
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
Unit Test Service Fabric Actors when Actors call other Actors
In order to be able to effectively unit test Azure Service Fabric Actors we use a NuGet package called "ServiceFabric.Mocks”. It’s truly fantastic. As the name implies it allows you to Mock all Service Fabric services, not just Actors but the Actor model has unique structure that makes it exceptionally helpful in testing. The way … Continue reading Unit Test Service Fabric Actors when Actors call other Actors
DLLHell 2018: Upgrading Service Fabric Project from v3.1.283 to v3.2.176
I’m getting an error from each of my xUnit test projects that there is a package downgrade from Microsoft.NETCore.App from 2.0.9 to 2.0.0. I tried isolating the issue to one project so I unloaded all the test projects in my solution. Then I tried upgrading the version of .NET Core from v2.0 to v2.1. However … Continue reading DLLHell 2018: Upgrading Service Fabric Project from v3.1.283 to v3.2.176
Creating Service Account for Terraform in Azure
Getting an automation tool like Terraform the privileges to manage resource groups within Azure requires a bit of up front setup work. Here is a video demonstrating all that is required. Step 1: Install the Azure CLI The first step is to get the Azure CLI (command line interface) which will allow you to issue … Continue reading Creating Service Account for Terraform in Azure