aws-solutions / aws-control-tower-customizations

The Customizations for AWS Control Tower solution combines AWS Control Tower and other highly-available, trusted AWS services to help customers more quickly set up a secure, multi-account AWS environment using AWS best practices.
https://docs.aws.amazon.com/controltower/latest/userguide/cfct-overview.html
Apache License 2.0
360 stars 205 forks source link

Feature Request: Support controled rollout of changes #88

Open cacack opened 2 years ago

cacack commented 2 years ago

Is your feature request related to a problem? Please describe. The current customization pipeline solution does not offer a way to deploy using SDLC methodologies, e.g. deploying to a subset of the environment where testing and validation can occur prior to rolling out to the environment as a whole.

Describe the feature you'd like I want the ability to test changes to our environment before they're rolled out to the whole environment. This should include the ability to deploy to a subset of accounts, where our team(s) can perform testing and validation. I want to the ability to introduce a change to groups of accounts in a defined progression, much like how software development teams introduce a change through development, test, qa, etc before finally reaching production.

Additional context There have been similar requests that would begin to enable such a behavior, but those have been closed as essentially "not currently supported". I don't think that is acceptable and I think inclusion in a product roadmap, and indication of where on that roadmap this feature request is should be offered.

rakshb commented 2 years ago

@cacack Thanks for the request. We have added this to our backlog.

balltrev commented 2 years ago

Hey @cacack, upon looking deeper into this, I believe controlled rollout is something that is possible today using the GitOps model, by rolling out infrastructure to development accounts in a single commit, and then expanding to staging accounts in a secondary commit, and then production in a final commit.

Let me know if I misunderstood your request here!