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, Microsft with Azure IoT Hub, or Amazon with AWS IoT, their device management offerings enable IoT solutions providers quickly and securely to provision, authenticate, configure, control, monitor and maintain the IoT devices used in their solutions.
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 on managing IoT devices at scale.
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's 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.
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 (http://iotdesign.embedded-computing.com/articles/fundamentals-of-iot-device-management/) in full.
When adding new IoT devices, you want to make sure that only trusted and 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.
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 of, say, a smart 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.
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 identifying and diagnosing potential bugs/issues proactively. Device management software can provide program logs needed to make diagnoses.
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.
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 as IoT solutions increase dramatically in scope, scale and complexity.
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 thousands 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:
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) are perfect for such use cases. They offer long range, low bandwidth, and extensive battery life. And for many IoT applications, this low bandwidth isn’t a problem. For example, a temperature sensor may only need to report temperature (representing very little data) a few times per hour (representing low frequency).
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.
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 use case 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 use case, and decommissioning old devices.
In my next post I’ll explore what it means to automatically identify potential issues and to automatically classify devices into contextual states, with real examples that highlight why you need this Contextual IoT Device Management if you’re building, buying, and/or implementing massive-scale IoT solutions.
What type of use case are you building for? Whichever it is we are looking forward to learning more about your needs.
Our team of experts is here to help!