aws / aws/containers-roadmap

[ECS] [request]: Skip Remaining Wait Time on CodeDeploy Canary Deployments

Open
#2,266 0 comments 8 reactions 1 assignee Claimed by @vibhav-ag View on GitHub
ECS Proposed
Dominant language
Shell
Stars
5.4k
Forks
334
PR merge metrics
No merged PRs in 30d

Description

### Community Note

* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment

**Tell us about your request**
_What do you want us to build?_

There is already an option in the CodeDeploy console to 'Stop Deployment' as well as 'Stop And Rollback Deployment'. There should also be a button that says "Continue Traffic Shift" or "Finish Deployment" or "Skip Wait and Finish Deployment" to allow us to accelerate / fast-forward / complete the traffic shift in canary deploys we have manually deemed "good to go".

**Which service(s) is this request for?**
ECS

**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**
_What outcome are you trying to achieve, ultimately, and why is it hard/impossible to do right now? What is the impact of not having this problem solved? The more details you can provide, the better we'll be able to understand and solve the problem._

We have two scenarios:

1. We have a hotfix release and we want to override our usual canary deployment strategy wait time after the initial traffic shift. Basically we want to deploy immediately. Right now we are going to have to do some trickery to work around this by changing deployment strategies on the fly before each deployment.
2. We have a "legacy monolith" service that has been containerized. Every release is fraught with uncertainty. We want to be able to initiate a canary deployment with a long wait time after traffic shift. Sometimes we want to leave that split traffic for the whole waiting time (perhaps several hours). Other times we want to be able to cut the wait time short if we feel the new task revision is working without issue and want to speed ourselves along to be able to do another release. Other times still we might have a hotfix and want it out immediately.

We feel having a button / API call that allows us to fast-forward our canary deploys would make all this very seamless and add the overall capabilities of CodeDeploy.

**Are you currently working around this issue?**
_How are you currently solving this problem?_

Currently we are simply waiting for the canary period to finish. Its kind of a bummer. Shortly, I plan to update our deployment workflow in GHA to offer an input / dropdown that will allow the user to set the Deployment Strategy on the Deployment Group before initiating an update. But this still doesn't fully solve the problem of allowing us to create an "open-ended canary" where we can shift a small amount of traffic to a new version and leave it running for several hours and then being able to pick when we hard-cut over the rest of the traffic.

**Additional context**
_Anything else we should know?_

If you have other ideas on how we can implement this with the current release of CodeDeploy and ECS I'd love to hear how we can achieve this.

Thanks for looking at and considering this.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.