aws-app-mesh-roadmap icon indicating copy to clipboard operation
aws-app-mesh-roadmap copied to clipboard

[AppMesh][request]: Canary deployment

Open lybrant opened this issue 6 years ago • 8 comments

Tell us about your request Schema for automatic virtual router shifting a percentage of production traffic from one virtual node to a new one and monitor rollback alarms.

Which integration(s) is this request for? Fargate, ECS.

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard? I would like to implement an automated canary release with AppMesh of services deployed to ECS with Fargate. I would like to rollback traffic shift if alarms are fired. With currently available services it is possible to make canary deployment but in manual way. Or one should implement quite complex solution for shifting traffic from one virtual node to another and monitoring metrics of the services.

Are you currently working around this issue? Currently I'm only looking for the way to find the solution

Additional context no

Attachments

lybrant avatar May 27 '19 06:05 lybrant

Hey @lybrant

  1. Do you use any existing deployment systems with Fargate and ECS?
  2. Are you looking for something hosted, or are you looking for something that will automate the steps to run locally? This could be something a developer runs locally, or that you install somewhere and execute remotely.

dastbe avatar May 29 '19 19:05 dastbe

Hi @dastbe We are deploying services via CloudFormation from CI/CD hosted on premises. Our strategy is to use AWS hosted services where it is possible.

lybrant avatar May 30 '19 18:05 lybrant

@lybrant We do have CloudFormation for App Mesh APIs. What are the gaps with using the Virtual Routes with App mesh with weights and weighted targets? (https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html) Are you looking for a more integrated solution with something like CodeDeploy/CodePipeline?

shubharao avatar Sep 28 '19 00:09 shubharao

I definitely like a more integrated solution with code deploy. Something similar to the lambda canary

melcloud avatar Jan 09 '20 08:01 melcloud

@shubharao Hi, What are the plans for integrating Code Deploy with App Mesh deployment controls?

Currently Code Deploy uses ALB Weighted Target Groups - Doesn't this mean that we would lose this ability if we integrate App Mesh into our ECS services (as we'll be removing ALBs in favor of Envoy client side balancing) ?

Thanks

gpertzov avatar Sep 09 '20 18:09 gpertzov

We use blue/green deployment for ecs services and would like virtual node deployment using this pattern as well. I am not entirely sure how this would work without ALB prod and test listeners though since envoy client side load balancing would replace ALB.

rmaskara avatar Oct 02 '20 18:10 rmaskara

Several of my projects use Virtual Routers and Weighted Routes to implement Canary. So far we're implementing everything from scratch using Python / Boto3. It would be nice to be able to use CodeDeploy with CODE_DEPLOY Deployment Provider for ECS/Fargate and point it to Virtual Router / Route, instead to LoadBalancer (we use Virtual Gateways as AppMesh Ingress for various of reasons, and would like not to involve ALBs in our Canary Deployments).

Anyway, please treat this as another thumbs-up for VirtualRouters support in CodeDeploy. It's very much needed.

mkielar avatar Feb 24 '22 12:02 mkielar

I wish I knew CodeDeploy wouldn't be able to handle this OOTB before devoting so much time towards App Mesh

Is anyone willing to share their current solution?

neiljohari avatar Mar 13 '22 23:03 neiljohari