Understanding staged application rollout (Beta)

This article focuses on what staged app rollout is and how it works within the emteria Device Hub.

A staged app rollout is a strategy where new versions of existing applications are gradually deployed to an increasing subset of devices, before being made available to the entire device fleet.

This approach helps to reduce rollout risks. In comparison to a "big bang" approach it opens up the ability to identify and address unforeseen issues early, collect feedback, and ensure error-free deployments for the rest of the fleet.

 

Article overview

Understanding emteria's staged app rollout

Tip: emteria's Staged app rollout makes the most sense in combination with emteria Storage SDK.

Staged app rollout gives the user the option of defining a percentage of devices (a subset) a new application version will be available for.

Example: Rollout a new application version to 10% of all devices in your device fleet.

In detail, the rollout percentage has the following effects on the visibility of the new application (apk file) on the devices in your fleet:

  • Apk files with a rollout percentage == 0 are not visible to any device in your fleet.
  • Apk files with a rollout percentage == 100 are visible to all devices in your fleet (default).
  • Apk files with a rollout percentage > 0 and < 100 are visible to a subset of devices in your fleet.

Note: Visibility in this context means, that this application will be included into the list of available apps and updates, when requested by a third-party applications through emteria Storage SDK.

Note: Default visibility is 100%, meaning all apps uploaded to your workspace will be visible to all devices in your fleet. The application rollout process does not change unless the rollout percentage is manually edited.

How does the allocation of device subsets work

The allocation of device subsets is random, but static. This means, by gradually increasing the rollout percentage of a file from 0 to 100, a subset will grow from none to all devices consistently by adding new devices to the previous subset.

Example: Increasing the percentage from 10% to 20% adds additional 10% of all devices to the original subset. This means that the subset selection remains static and is not redefined whenever percentage changes occur. By moving the percentage back from 20% to 10%, the new subset will be identical to the original subset.

staged-app-rollout-increase-10

However, two different files will have different, randomly distributed subsets, even if they have the same rollout percentage value. One specific device may be randomly allocated to be in both, in just one or in none of these two subsets, but the overall selection of devices within a subset usually differs.

staged-app-rollout-2-apps-1

How offline devices influence the staged app rollout

If some devices within the fleet are currently offline, they can still be assigned to be part of a randomly defined rollout subset. This means there are various scenarios, depending on the number of online and offline devices:

  1. the new application is directly visible to 10% of devices in the fleet, if all of them are online.
  2. only a part of the 10% of devices in the fleet will see the new application directly, since some devices are offline.
  3. none of the 10% of devices in the fleet see the new application, if all devices are offline

Offline devices included into the subset will see the new application when they come online. For this reason, the rollout to the full 10% might take a while due to the offline devices.

Note: Some subsets might never achieve a perfect match of the specified rollout percentage, since there might be devices that are never getting online.

Note: Subset generation algorithm used by emteria is not perfect. The real distribution may vary and be slightly higher or lower than the defined value. We will continue to improve our algorithms in future to achieve more accurate results.

How to upload and rollout a new apk file and enable staged app rollout in the Device Hub

How to upload a new file

  1. Log in to your Device Hub.
  2. Navigate to Device Hub > Files.
    files1-1
  3. To upload a new file, Click on the link and pick your local file or use drag and drop to upload your APK file.
    upload-files

How to start a staged rollout

  1. Define the visibility of your application by assigning a Workspace or Group to the uploaded apk file.
  2. Open the File settings (gear icon on the right side) of the new application in our portal.
    staged-rollout
  3. Define the desired Rollout percentage and click Save.
    app-rollout-percentage
  4. Repeat this process later on by increasing the percentage gradually to make this file visible to 100% of your fleet.

Attention: This is not an automated update process for applications. After defining the rollout percentage, the uploaded app gets visible or invisible to devices though the emteria Storage SDK.

What is not possible

This is a beta feature, some functionalities are not available yet:

  • Showing statistics of the current app version distribution across the whole fleet.
  • Manually including or excluding individual devices to the subset.