Limit rollout rate of Greengrass deployments / Greengrass fleet deployment strategies

0

Hi All,

I'm interested to know how people control the rollout of new deployments to a large amount of Greengrass devices. We are in the process of re-thinking this as our current method is quite basic and does take in account rollout rates and simply deploys the new configuration to all devices in a thing group. While this works, our fleet is coming to a size where we need to re-think this.

What I'm trying to achieve is to be able to have a new deployment first going to a max number of devices, being able to monitor performance and stability before going to a larger amount of devices in the fleet. The only thing I can see that can be controlled on deployment level is to set the maximum amount to be targeted per minute.

Effectively I want to pause the rollout at a certain maximum, only to continue when we would increase this maximum (or remove it). We could make multiple smaller thing-groups and then each have a deployment, but this does not feel like the right way.

Keen to hear what others have done in this area.

johans
asked a year ago227 views
2 Answers
2
Accepted Answer

I would suggest using the concept of Canary Deployment https://catalog.us-east-1.prod.workshops.aws/workshops/de171c43-64b4-45f7-a5fe-a28e62a3bfbe/en-US/introduction (hope you have access here). Where you define a Canary Fleet for deployment testing. The Canary Fleet is used to verify that the application is work as expected before the change is pushed to the deployment of the Main Fleet. I hope it helps. Enter image description here

AWS
Luca V
answered a year ago
0

Thanks for that link. It appears to be for GG V1 but the concept still applies for V2. For now I've settled for a similar approach where I use IoT Thing groups to group the canary fleet. The pipeline will deploy to a test-fleet which just contains smoke-test devices . Then the deployment can be applied to the canary fleet group and subsequently to the group containing the rest of the fleet.

The above will allow me to limit the max devices the deployment goes to, and only continue to the rest of the fleet if smoke tests and monitoring are good. Maintaining the fleets will be quite straight forward too and allows for future automation.

I see the benefit for a pipeline for each group but this can be added later when this becomes more important.

johans
answered a year ago
  • If the answer helped, do you mind accepting the answer? Thank you!

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions