Best Practice 26.2 – Use static and dynamic device hierarchies to support fleet operations - IoT Lens Checklist

Best Practice 26.2 – Use static and dynamic device hierarchies to support fleet operations

Using a software registry, devices can be categorized into static groups based on their fixed attributes (such as version or manufacturer) and into dynamic groups based on their changing attributes (such as battery percentage or firmware version). Operationalizing devices in groups can help you manage, control, and search for devices more efficiently.

Recommendation 26.2.1 – Assign static types to devices with common attributes

  • Define device types to classify description and configuration information that are common to all devices of the same type.

  • Use provisioning templates to assign this static type to devices as they are provisioned for the first time.

  • For example, define a LightBulb thing type in AWS IoT Core with manufacturer, wattage (power) and other attributes common to a light bulb. Associate all the devices in the thing registry of the type LightBulb to this type and specify values for each of the attribute defined.

Recommendation 26.2.2 – Manage several devices at once by categorizing them into static groups and hierarchy of groups

  • Build a hierarchy of static groups for efficient categorization and indexing of your devices.

  • Use provisioning templates to assign devices to static groups as they are provisioned for the first time.

  • For example, categorize all sensors of a car under a car group and all the cars under a vehicle group. Child groups inherit policies and permissions attached to their respective parent groups.

Recommendation 26.2.3 – Build a device index to efficiently search for devices, and aggregate registry data, runtime data, and device connectivity data

  • Use a fleet indexing service to index device and group data.

  • Use a device index to search registry metadata, stateful metadata, and device connectivity status metadata.

  • Use a group index to search for groups based on group name, description, attributes, and all parent group names.