Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AppMesh][request]: Canary deployment #72

Open
lybrant opened this issue May 27, 2019 · 8 comments
Open

[AppMesh][request]: Canary deployment #72

lybrant opened this issue May 27, 2019 · 8 comments
Assignees
Labels
Roadmap: Awaiting Customer Feedback We need to get more information in order understand how we will implement this feature.

Comments

@lybrant
Copy link

lybrant commented May 27, 2019

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 lybrant added the Roadmap: Proposed We are considering this for inclusion in the roadmap. label May 27, 2019
@dastbe
Copy link
Contributor

dastbe commented May 29, 2019

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.

@lybrant
Copy link
Author

lybrant commented May 30, 2019

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.

@shubharao
Copy link

@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 shubharao self-assigned this Sep 28, 2019
@shubharao shubharao added the Roadmap: Awaiting Customer Feedback We need to get more information in order understand how we will implement this feature. label Sep 28, 2019
@shubharao shubharao removed the Roadmap: Proposed We are considering this for inclusion in the roadmap. label Oct 9, 2019
@melcloud
Copy link

melcloud commented Jan 9, 2020

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

@gpertzov
Copy link

gpertzov commented Sep 9, 2020

@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

@rmaskara
Copy link

rmaskara commented Oct 2, 2020

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.

@herrhound herrhound assigned herrhound and unassigned shubharao Apr 30, 2021
@mkielar
Copy link

mkielar commented Feb 24, 2022

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.

@neiljohari
Copy link

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Roadmap: Awaiting Customer Feedback We need to get more information in order understand how we will implement this feature.
Projects
None yet
Development

No branches or pull requests

9 participants