Change Management - IoT Lens

Change Management

IOTREL 4. How do you roll out and roll back changes to your IoT application?

It is important to implement the capability to revert to a previous version of your device firmware or your cloud application in the event of a failed rollout. If your application is well-architected, you will capture metrics from the device, as well as metrics generated by AWS IoT Core and AWS IoT Device Defender. You will also be alerted when your device canaries deviate from expected behavior after any cloud-side changes. Based on any deviations in your operational metrics, you need the ability to:

  • Version all of the device firmware using Amazon S3.

  • Version the manifest or execution steps for your device firmware.

  • Implement a known-safe default firmware version for your devices to fall back to in the event of an error.

  • Implement an update strategy using cryptographic code-signing, version checking, and multiple non-volatile storage partitions, to deploy software images and rollback.

  • Version all IoT rules engine configurations in CloudFormation.

  • Version all downstream AWS Cloud resources using CloudFormation.

  • Implement a rollback strategy for reverting cloud side changes using CloudFormation and other infrastructure as code tools.

Treating your infrastructure as code on AWS allows you to automate monitoring and change management for your IoT application. Version all of the device firmware artifacts and ensure that updates can be verified, installed, or rolled back when necessary.