I want to perform blue-green or canary deployments for an app and the web services that it consumes in an automated or semi-automated way.
I have a web app that consumes over ten web services. The web app and web services need to be deployed to Azure. I need to perform blue-green or canary deployments to production for all these apps. To keep things simple, we can assume that all ten web services and the web app need to be deployed on every production release. But, in reality, only a few of the services need to be updated in production in any given release. We can also assume that each of the web services and the app will be deployed on isolated instances of Azure resources, because each of them need to be scaled independently, as the same web services are used by other apps as well.
Absolute requirement: I need to be able to perform the blue-green or canary deployments on all services and the app at the same time, possibly using some sort of automation in a CICD platform.
Based on documentation that I reviewed, it might make sense to go with App Service plans with Deployment slots, or using the Azure Kubernetes Service. But, I am looking for the optimal solution here, with the primary key requirement being - automated blue-green or canary deployments of all resources involved. I haven't attempted setting this up yet as I would like to make informed decisions based on feedback in this forum.