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

Explore rotating more than 1 instance in a single run of the Step Function #34

Open
rtyley opened this issue Jan 23, 2019 · 0 comments
Open
Labels
enhancement New feature or request

Comments

@rtyley
Copy link
Member

rtyley commented Jan 23, 2019

Now that we've got this project working for Ophan's Elasticsearch Cluster, I'm kind of excited by it's potential to automate a full cluster refresh rather than just 1 node at a time.

Thinking about the initial motivating use case for this project, I'd express it as:

"I don't want any nodes in my cluster to be more than 14 days old - because I need to have software patches for security updates applied within 14 days to satisfy GDPR"

At the moment we're achieving that with ENR by setting a cron schedule that ensures we rotate enough servers over the course of 14 days to never be out of date - but I'd like to propose that we change that by allowing the Step Function to refresh more than 1 box with each individual run. So when we run the Step Function and say "I don't want any nodes in my cluster to be more than 14 days old" it will respect that and loop round refreshing instances until it has satisfied that requirement.

Coming on to my new feature request requirement: fully refreshing a cluster (in the event of an urgent security update or just because a new artifact needs to be rolled out), I can now express that requirement as:

"I don't want any nodes in my cluster to be more than 0 days old"

...so the choice between gradually refreshing a cluster or doing the whole thing would come down to a 'maximumAllowedInstanceAge' parameter passed to the Step Function when it runs.

cc @jacobwinch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant