ripe-russia-4239
04/23/2021, 9:28 AM${functionAppId}/functions/${functionName}
• In order to create an Event Grid Subscription resource with Pulumi/ARM, both the Event Grid Topic and the function resource subscribing to that Topic must already exist
So, we have an ordering problem:
1. We deploy the Function App resource with Pulumi, from the microservice's infrastructure pipeline. (This is also where we initially expected to deploy the Event Grid Subscription resources.)
2. We separately deploy the microservice's binaries using the DeployAzureFunction task in Azure DevOps, from the microservice's application pipeline.
3. How/where do we create the Event Grid subscription between the Topic and the deployed function? This is especially a problem for the scenarios of deploying a new function with Event Grid subscription, and deploying a new environment from scratch.
Possible solutions we have considered:
• Adding the Event Grid subscription from the Function app at startup (e.g. with Pulumi .NET SDK, or Azure ARM REST API call), although my concern is that this will delay the scale-out process of functions
• Add subscription to the topic from the Function app's application deployment pipeline (e.g. with Pulumi or Azure CLI), although this sort of blurs the distinction between infrastructure and application pipelines.
One further related question: is this infrastructure/application split in pipelines a good (or at least acceptable) practice, or is it an antipattern? Are there any "pipeline design patterns" resources or similar that you can particularly recommend? (We're not using Pulumi's hosted service, so AIUI the CI/CD adviser isn't available sadly.)tall-librarian-49374
04/26/2021, 6:13 AMripe-russia-4239
04/26/2021, 4:01 PM