copilot-cli icon indicating copy to clipboard operation
copilot-cli copied to clipboard

Support Blue/Green Deployment

Open bcarun opened this issue 5 years ago • 11 comments

I attended the session on copilot during the aws event. I understood that copilot doesn't support Blue/Green deployment. Enterprises will be able to leverage copilot cli if Blue/Green deployment support is available, hence request you to support that feature asap.

  • Arun Chandrasekaran

bcarun avatar Dec 15 '20 18:12 bcarun

Hi folks!

This issue has a lot of 👍, thank you all for the feedback 😍. Today, the B/G deployment support in CloudFormation has several restrictions: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html#blue-green-considerations

Most notably, the following restriction blocks the implementation in Copilot:

  • Importing existing resources isn't currently supported for templates defining blue/green ECS deployments.

There might be other alternative routes for us to investigate to support B/G deployments perhaps with Custom Resources. I just wanted to add some clarity on why we haven't implemented it yet.

efekarakus avatar Dec 02 '21 19:12 efekarakus

+1 on this, not sure what the current situation is here but I would benefit tremendously from this.

wstewarttennes avatar Jan 11 '22 22:01 wstewarttennes

The existing behaviors (eg. #4838 as described by @efekarakus ) have caused us prod outages due to irreconcilable copilot behavior. Would love to see this prioritized.

iamnafets avatar May 05 '23 23:05 iamnafets

Any updates on this?

jetaggart avatar Aug 21 '23 23:08 jetaggart

Hey @jetaggart, sorry to say no updates on this for now. 😔 Since we've released overrides (YAML Patch and CDK), it's theoretically possible to write some overrides to enable Blue/Green Deployments for your Copilot service stacks. However, the limitation mentioned in the docs

Declaring output values or importing values from other stacks isn't currently supported for templates defining blue/green ECS deployments.

will make it tough, because Copilot services import shared resources from the environment stack. I haven't tested, but I think I would start with a CDK override that resolves the value of the env stack outputs and replaces the values in the service stack.

We are working on making it possible to import resources to a service so that a service could be deployed independently of an environment, which, if those resources were are imported via CFN, would make this slightly easier.

dannyrandall avatar Aug 23 '23 16:08 dannyrandall

Any rough guess on when blue/green deployments would be supported?

clay-risser avatar Oct 03 '23 19:10 clay-risser

Hey @clay-risser! Sorry, still no updates to share 😔.

dannyrandall avatar Oct 05 '23 21:10 dannyrandall

+1 to this. Commenting to keep the ~pressure~ momentum up 😉

teeeps avatar May 15 '24 09:05 teeeps