The user is looking for a way to implement canary deployments for their microservices that communicate via Azure Service Bus. They want to limit the impact of bugs that slip into production when new revisions are deployed, but the current setup does not allow for traffic direction to specific revisions for message processing. They seek a solution or feature that would allow this capability.
Hey We are currently looking into canary deployments (we already have good guard rails, automated tests, etc..). Now we want to limit blast radius of those bugs that still slip into production by doing canary deployments. We have a microservice architecture with container apps on Azure. With container apps you can decide how mush traffic a certain revision receives which is great for canary deployment. This works great for http endpoints on the container app. The problem however is this: A lot of the communication between container apps are message based using Azure service bus. This does not allow a subset of traffic to be directed to one or the other revision. From the moment a second revision is up it will start processing messages from service bus immediately (even if revision traffic is set 0%). If this revision would contain a bug in the way it processes said messages, customers are impacted. How do people still allow canary deployment in this scenario? Start writing your custom solution? I've tried looking for a solution online but don't find any satisfying answers.