Bosch IoT Rollouts

Rollout management

Software update operations in large scale IoT scenarios with hundreds of thousands of devices require special handling.

That includes:

  • Technical scalability by means of horizontal scale of the Bosch IoT Rollouts server cluster in the cloud.

  • Global artifact content delivery capacities.

  • Functional scalability by means of:

    • secure handling of large volumes of devices at rollout creation time.

    • monitoring of the rollout progress.

    • emergency rollout shutdown in case of problems on too many devices.

  • Reporting capabilities for a complete understanding of the rollout progress at each point in time.


Bosch IoT Rollouts sees these capabilities under the term Rollout Management:

  • Create, update and start of rollouts.

    • Selection of targets as input for the rollout based on target filter functionality.

    • Selection of a distribution set.

    • Auto-splitting of the input target list into a defined number deployment groups (automatic group definition).

    • Optional definition of custom deployment groups with individual conditions (semi-automatic group definition).

  • Cascading start of the deployment groups based on installation status of the previous group.

  • Manual triggering of the next group based on the needs of the use case.

  • Emergency shutdown of the rollout in case a group exceeds the defined error threshold.

  • Rollout progress monitoring for the entire rollout and the individual groups.

For further technical information see Rollout state machines.


Cascading deployment group execution

The cascading execution of the deployment groups is based on two thresholds that can be defined by the rollout creator.

  • Success condition by means of percentage of successfully installed targets in the current group’s trigger.
    Option to overrule it with a manual trigger.

  • Error condition by means of absolute or percentage of failed installations which triggers an emergency shutdown of the entire rollout.

Schematic view

images/confluence/download/attachments/1680491223/DeploymentGroups-version-2-modificationdate-1618847538000-api-v2.png


Dynamic Rollouts

The Dynamic Rollout concept enhances the rollout process by incorporating newly registered targets (devices) even after the rollout has been created. This ensures that all eligible targets, including those added post-creation, are involved in the rollout.

Dynamic Groups Functionality

  1. Initial Group Creation:

    • During the rollout creation, static groups are formed with the targets that currently match the filter criteria.

    • In addition to these static groups, a dynamic group is added at the end of the list.

  2. Dynamic Group Behavior:

    • The first dynamic group inherits the trigger parameters and the target count from the last static group.

    • Once the first dynamic group reaches the specified number of targets, a new dynamic group is created.

    • This process continues as long as the rollout is in the running state, involving newly registered targets.

Benefits of Dynamic Rollout

  • Scalability: Ensures that all eligible targets are included, enhancing the rollout's coverage.

  • Flexibility: Adapts to changes in the target pool by continuously adding new groups.

  • Efficiency: Reduces the need for manual intervention by automating the inclusion of new targets.

  • Comprehensive Reporting: Maintains the robust reporting capabilities of static groups, ensuring detailed monitoring and analysis of the rollout progress.