Effective IoT device management is a foundational element for any successful IoT solution. All the major cloud providers include it in their IoT platform offerings. Whether it’s Google with IoT Core, Microsoft with Azure IoT
If that string of words didn’t hold a lot of meaning for you, don’t worry. In this post, I explain what IoT device management is and why it’s important. But that’s only part of the purpose of this new series.
The main purpose of these posts is to illustrate the need for a new kind of device management as business leaders like you build, buy, and/or implement IoT solutions with up to thousands or millions of IoT devices.
We can call the IoT device management described above “Basic IoT Device Management” because this kind of device management is table stakes for any IoT solution. However, what is becoming increasingly important for massive-scale IoT solutions (and can, therefore, serve as a critical differentiator between who succeeds and who fails in IoT), is what we can call “Contextual IoT Device Management.”
Before getting into Contextual IoT Device Management, let’s first establish the basics:
Basic IoT Device Management
Since my focus in these posts is on Contextual IoT Device Management, and given that much has already been written on Basic IoT Device Management, I’ll simply provide a summary of the excellent post by John Weber, Market Segment Manager for IoT at Avnet. If you want a deeper dive, I encourage you to read his post in full.
1. Provisioning and Authentication
When adding new IoT devices, you want to make sure that only trusted, secure devices can be added. You wouldn’t want bad actors to be able to connect devices to your IoT solution that aren’t genuine, aren’t running trusted software, or aren’t working on the behalf of a trusted user.
- Provisioning is the process of enrolling a device into the system.
- Authentication is a step in that process of provisioning whereby you verify that only devices with the proper credentials get enrolled.
2. Configuration and Control
Devices are imperfect when they’re deployed out in the field, whether that’s a tracker on a mobile asset like a car or a sensor for remote monitoring like of a refrigeration system. After deployment, there may be configurable device settings that you want to adjust over time, such as decreasing the frequency with which your trackers report position messages to increase battery life.
The ability to configure and control devices even after deployment is therefore critical to ensuring functionality, improving performance, and protecting from security threats. You may also want the ability to reset devices to their factory default configuration when you decommission them.
3. Monitoring and Diagnostics
In addition to configuring certain device settings, there may also be unforeseen operational issues and/or software bugs that you’ll need to address. But to address them, you need to identify them in the first place.
Therefore, the ability to monitor and detect when something is amiss, such as higher-than-normal CPU utilization, is essential to proactively identifying and diagnosing potential bugs/issues. Device management software can provide program logs needed to make diagnoses.
4. Software Maintenance and Updates
If you do identify a bug with your devices and/or a security flaw, you’ll need to be able to make updates to device software (or even firmware) from afar. With thousands or millions of devices, getting physical access to each device to update them manually just isn’t practically possible. If physical access is required, your IoT solution may be doomed, or at least very brittle and precarious in the long run.
The ability to update and maintain remote device software securely is thus one of the most important components of good device management.
Contextual IoT Device Management
While Basic IoT Device Management was once deprioritized by many IoT solution providers (since such functionalities didn’t provide short-term differentiation for IoT solutions), as the IoT industry continues to mature, these functionalities are becoming fundamental. All the major cloud providers (Google, Microsoft, Amazon) now include Basic IoT Device Management as part of their IoT offerings. Nonetheless, Basic IoT Device Management isn’t enough.
Why the Basics Aren’t Enough
Device management originated within IT departments managing computing resources inside their organizations. It evolved with the rise of mobile, which necessitated mobile device management (MDM). Now, with the thousand to millions of devices within just a single IoT solution, new challenges call for new approaches.
Past approaches to device management were built on the presumption of persistent and stable device connectivity, often with relatively high bandwidth. For example, the Monitoring and Diagnostics section above references monitoring CPU usage and downloading program logs from devices to diagnose issues. However, with IoT we’re seeing IoT solutions that can involve thousand to millions of devices for which persistent connectivity and high bandwidth are far from the norm.
IoT solutions can vary greatly depending on their application. Some of these IoT solutions do involve high bandwidth and persistent connectivity but many don’t. Take agricultural IoT applications as an example; you may have thousands of sensors (temperature, soil moisture, sunlight, equipment asset trackers, etc.), in remote locations across an agricultural property. For all of these sensors, long battery life becomes a critical functionality, because:
- The devices aren’t going to be plugged into an electricity source in the middle of a field.
- Replacing batteries frequently for thousands of devices would represent a massive operational (and therefore financial) burden that would make a good return-on-investment (ROI) impossible.
However, there’s an inherent tradeoff between power consumption, bandwidth, and connectivity range when it comes to network options. You can’t have them all. So if you want to ensure you have the necessary range to cover broad fields in agriculture while maintaining long-lasting battery life, you’re not going to get high bandwidth.
Low-Power Wide-Area Networks (LPWANs)
What many don’t realize about LPWANs is that by their very nature (low bandwidth), Basic IoT Device Management may be insufficient to identify and diagnose issues. In these LPWAN applications, messages from devices are fire-and-forget—devices aren’t always “listening” for new messages. “Listening” takes battery life. For IoT applications in which battery life is critical, this means that the devices will only “listen” for new messages coming back to them at set time intervals (e.g. once every 12 hours). Contrast this with your smartphone, which is constantly “listening” to check if there are new messages. What many don’t realize is that this means that in many IoT applications, you can’t “ask” a device if it’s ok.
If you stop hearing from an IoT device, is it because there’s an issue with the device (e.g. a hardware defect or a firmware bug)? Or is it because the device just didn’t have network connectivity the last time it tried sending you a message? Or maybe enough devices tried communicating at the exact same time that some of the messages collided (this can happen with radio waves) and therefore didn’t get through? Or perhaps the device’s battery is simply dead?
Without Contextual IoT Device Management, managing thousands to millions of devices, for which you have very little data, can quickly become an operational nightmare that can eliminate any hopes at a good ROI and kill an IoT solution.
Why You Need Contextual IoT Device Management
The sheer scale of IoT solutions that involve thousands to millions of devices means that you can’t rely on purely human management; you need to automate as much as you can. You need to identify issues with devices automatically so that you can proactively address such issues. You also need to automatically classify devices into states that are contextually dependent on the Applications in order to integrate the IoT solution seamlessly into existing business systems and processes.
Therefore, to me IoT Device Management is all of the tools, capabilities, and processes necessary to support IoT solutions effectively at scale. It includes quickly and securely onboarding new devices, automatically identifying device issues, classifying devices into states contextually dependent on the Applications, and decommissioning old devices.
In my next