Read on this article for a roadmap to successful IoT device -life-cycle management including how to navigate the complexity of the deployment, and a breakdown of the 5 stages of a device’s lifecycle.
Table of contents
The complexity of enterprise IoT deployment
Diversity of devices and software
IoT device lifecycle management
Table of Contents
The Internet of Things (IoT) has the power to increase the efficiency of businesses in numerous domains dramatically and to create completely new business models. Through real-time bilateral communication with the connected smart devices, you will not only receive valuable data collected by the devices but will also be able to fulfill their maintenance and management automatically and remotely. Thus to successfully deploy an IoT solution for an enterprise, it is crucial to consider the foundation of any IoT solution: device management.
Enterprises can expect a complex IoT device landscape with heterogeneous devices that need to be managed throughout the whole device life cycle. IoT-related scenarios are getting more complex and require the execution of more sophisticated commands. Similar to the operating systems of our desktop computers, smartphones, and tablets, IoT gateways and edge devices need frequent care in the form of software updates or changes to configurations to improve security, deploy new applications, or extend features of existing applications. This white paper will show why robust device management is key for a successful enterprise IoT strategy.
An IoT solution scenario generally includes connecting devices. Web-enabled devices can be connected directly, while those that are not web-enabled are connected through a gateway. The heterogeneity and diversity of constantly evolving devices are a defining factor of an enterprise IoT architecture.
The complexity of enterprise IoT deployment
Diversity of devices and software
During the initial prototyping stage, the key goal is to show how devices can be connected and what values can be gained from analyzing the device data. Companies that deploy at this early stage without considering a feature-rich device management solution will soon find themselves unable to handle the growing number of device and software configurations. As the company’s IoT initiative expands, its IoT solution will be forced to include a varied mix of devices and connection mechanisms. With diverse and distributed devices, the operations team will also have to deal with multiple firmware versions.
Recently, there has also been a shift toward performing more processing and computation at the edge as bigger edge devices can handle more complex commands. The software for this needs to be constantly updated if it is to extract the maximum value from the analytics, and the operations team will need a central tool to enable efficient remote maintenance. Providing a service that allows all the different parts of the solution to use a common device management platform unlocks operational efficiency and shortens the time to market significantly.
Many IoT projects start with a proof of concept and are often followed by a pilot with a limited number of users and devices. However, as more and more devices have to be integrated, the company needs an application or API that allows it to manage, monitor easily, and secure the rising number of diverse, globally distributed connected devices. In short, it has to find a device management solution that can scale from day one to the various deployment scenarios. A good piece of advice here is to think big but start small.
Security is one of the most obvious reasons why a device management platform is required even for small-scale deployments. Governments are introducing legislation that requires all IoT products to be patchable and to meet the latest industry security standards. With this in mind, any IoT solution should be designed with security as a fundamental requirement. IoT devices are often constrained due to cost factors, which can limit their security capabilities; however, even constrained IoT devices must have the ability to update their firmware and software due to security changes and bug fixes. You can’t afford to skimp on security.
IoT device lifecycle management
As enterprise IoT systems are expected to last many years, it is critical to design and plan for the whole life cycle of devices and applications.
This life cycle includes security, pre-commissioning, commissioning, operations, and decommissioning. Managing the IoT life cycle presents a high level of complexity and requires a wide range of capabilities. We aim to highlight some general components of the IoT device life cycle here; however, details also depend on the type of device management protocol used. Because of the complex nature of managing IoT device life cycles, it’s recommended to use an experienced professional, such as an Erlang developer. These developers are specifically trained to work with systems that focus on great user-friendliness.
Device authentication is critical when establishing secured communication links. IoT devices should be authenticated using device-specific security credentials. This then enables the operations team to identify and block or disconnect devices deemed to be a threat. One way to authenticate the devices is to supply device-specific private keys and the device’s corresponding digital certificates during production (e.g. X.509) and provide regular field updates of those certificates. The certificates enable backend access control based on well-established and standardized validation mechanisms such as mutually authenticated TLS, which ensures encryption for all types of connectivity. A device management solution should also be able to revoke certificates if needed.
Device management requires an agent to be deployed on connected devices. This agent is software that works autonomously to monitor the devices. It also enables the remote device management software to communicate with the device, for example, to send commands and receive responses when required. The agent needs to be configured to automatically connect to the remote device management system with valid credentials for authentication.
Device Registration: An IoT device must be registered in the system before being connected and authenticated for the first time. Devices are usually identified based on serial numbers, preshared keys, or unique device certificates issued by trusted authorities.
Initial Provisioning: IoT devices are shipped to customers with factory settings, meaning they don’t have any customer-specific software configurations, settings, etc. However, a device management system can match the user to the IoT device and perform an initial provisioning process to automatically deploy the required software components, configurations, etc., without any user involvement.
Dynamic Configuration: IoT applications can start very simple and become more mature and complex over time. This may require not only dynamic software updates but also configuration changes to be carried out without involving the user or disrupting the service. Deploying new logic or performing service application updates should be completed without any downtime. The dynamic configuration may apply to only one specific IoT device, a group of IoT devices, or all registered IoT devices.
Monitoring: With the complex IoT device landscape, it is necessary to have a central dashboard that displays an overview of the devices and has the ability to configure notification rules based on device status or sensor data. Because of the scale and diversity of the assets, being able to flexibly and dynamically create groups of devices using specific criteria is important for efficient operations and the monitoring of your fleet.
As for the devices themselves, it is also important to have a watchdog to ensure that, in the event of a malfunction, they can at least automatically reboot themselves – or, preferably, troubleshoot the problem autonomously.
Manageable device types: IoT deployment scenarios can vary depending on the domain and application. Modern edge devices differ in terms of capabilities and connectivity methods, and an IoT solution must support a variety of target platform types.
Enterprise IoT solutions often have to deal with smaller types of edge devices, which have limited capabilities and cannot be connected directly over the internet, but rather through a gateway. In the following section, we list the most common types of IoT devices:
Small microcontrollers: Small microcontrollers are cost-efficient and energy-constrained devices, usually battery-powered, and are very suitable for basic edge capabilities, e.g. telemetry use cases. They are customer-specific, usually embedded, and the software for them is developed as part of the product design process. This allows you to reduce the customization needed to make a device IoT-ready. Small microcontrollers support device management capabilities such as remote configuration and firmware update.
- Operating system: Real-time operating systems, such as FreeRTOS, TIRTOS, Zypher
- Reference devices: ESP boards, STMicro STM32 Nucleo, NXP FRDMK64F, SiliconLabs EFM32GG-DK3750, XDK Cross Domain Development Kit
Powerful microcontrollers: Powerful microcontrollers are similar to gateways in terms of hardware, but they differ in terms of software, being rather single-purpose devices. They provide advanced edge computing capabilities, such as resource and device abstraction, history, software and firmware updates, software package management, remote configuration, etc.
- Operating system: Embedded Linux
- Reference devices: B/S/H system master
Gateways: Gateways or routers are very common in smart homes, intelligent buildings, and industrial environments. These devices can be compelling as they need to connect with a multitude of edge devices using different communication protocols. Gateways provide advanced edge computing capabilities, such as resource and device abstraction, history, analytics, software and firmware updates, software package management, remote configuration, etc. You can also perform firmware management on the connected devices through a gateway. They can even be added to the setup at a later stage and may serve different purposes that change over time.
- Operating system: Embedded Linux
- Reference devices: Raspberry Pi, BeagleBone, iTraMS Gen-2A, Rexroth ctrlX
The mobile device as a gateway: Modern smartphones can be used as gateways and are very convenient for smart home scenarios. They provide connectivity as a proxy for WiFi and Bluetooth LE devices, which require regular updates. When used as a gateway, mobile devices allow updating and remote configuration of the device agent.
- Operating system: iOS or Android
- Reference devices: Mainstream smartphone devices
5G edge node: Suitable for industrial purposes and specific environment needs, 5G edge nodes are often used in data centers on-site and can be deployed on existing devices as a 5G extension. They provide popular capabilities such as resource and device abstractions, history, analytics, software and firmware updates, remote configuration, software package management, etc.
- Operating system: Linux
- Reference devices: x86-powered hardware
A device management system must be able to manage a mix of all these types of IoT devices, which can be connected through diverse network protocols such as HTTP, MQTT, AMQP, LoRaWAN, LwM2M, etc. In certain cases, it may also be necessary to implement proprietary management protocols.
Here is a brief description of some popular connectivity protocols:
MQTT: A lightweight publishes/subscribes IoT connectivity protocol, useful for connections with remote locations where a small code footprint is required. MQTT can perform certain device management operations like firmware updates and is available for different programming languages such as Lua, Python, or C/C++.
LwM2M: A device management protocol designed for remote management of constrained devices and related service enablement. It supports device management operations such as firmware updates and remote configuration. It features a modern architectural design based on REST, defines an extensible resource and data model, and builds on the CoAP secure data transfer standard.
LPWAN protocols (LoRaWAN, Sigfox): IoT protocols suitable for constrained devices in wide area networks such as smart cities. Due to their power-saving implementation, they fit in well for use-cases where battery capacity is a limited resource. Device management operations such as firmware updates and remote configuration are supported.
Mass device management: Mass device management, also known as bulk device management, is often overlooked in smaller IoT deployments that have not yet scaled up. Simple device management measures may suffice at first but will be limiting as IoT projects with various devices grow in size and diversity. Being able to easily create dynamic hierarchies and arbitrary logical groupings of assets, so that device management measures can be applied on a large scale, will help increase deployment and maintenance efficiency. Such measures can range from firmware and software updates to the execution of complex scripts that take into account the input from the individual devices. Also, mass device management measures may be fine-tuned through several execution scenarios – set up as one-time tasks or recurrent and automated rules, launched instantly and unconditionally or triggered by predefined events, schedules, constraints, and conditions. Such a key functionality will also be of advantage when the development team carries out A/B testing and campaign management.
Software and firmware management and updates: Device management requires the ability to update software and firmware on globally distributed devices centrally. This includes pushing firmware to the device fleet, and – with the advent of complex edge processing – pushing software packages independent of firmware packages. Such software rollouts need to be staged across a group of devices to ensure reliability even when connectivity breaks down. Future-proof IoT solutions need to be able to update over the air, as most assets are deployed in remote environments distributed around the globe. For effective ongoing software and firmware maintenance, it is critically important to be able to create custom logical groupings and automate these tasks.
Remote configuration: Being able to modify configurations remotely is crucial for the operations team. Once rolled out, devices in the field need to be updated often so that they keep pace with the ecosystem’s evolution. This may include anything from changing cloud-side URLs to reconfiguring client authorization, increasing or decreasing reconnect intervals, etc. Mass management features complement all configuration-related jobs, as the ability to trigger mass measures based on complex rules and to run them at scheduled times in a repeatable manner is of paramount importance for operations.
Diagnostics: IoT deployment is an ongoing process that involves constant monitoring and diagnostics to minimize downtime and streamlining operations. When devices are in remote locations, access to administrative audit logs, device diagnostic logs, connectivity logs, etc. is one of the most vital features for troubleshooting. If further analysis is required, the device management system should be able to remotely trigger verbose logging and download the log files for analysis, saving valuable time and improving operations efficiency.
Integration: Unless adopting a ready-to-use service, enterprise IoT solutions will usually require access to devise management capabilities through a rich set of APIs, which make it possible to integrate external services or customize user interfaces and workflows. In times of open-source development, providing REST and language-specific APIs such as Java API is a standard to fulfill remote connection and management use cases.
Decommissioning might affect the whole IoT solution or only dedicated components; for example, replacing or decommissioning a single device. Certificates should then be revoked, and other confidential or sensitive data should be deleted securely.
Making the Internet of Things a reality is a transformational journey that inspires multiple business innovations.
Given the rising number of IoT innovations, it is critical for enterprises to select the optimum device management platform right at the beginning of this journey. This platform needs to be able to cope with the heterogeneity and diversity of a constantly evolving enterprise IoT landscape. It has to be capable of managing the growing number of connected devices throughout their entire life cycle.
Bosch IoT Suite is a complete, flexible, and open-source-based software platform for IoT solutions. It provides scalable and feature-rich services to address device management scenarios throughout the whole device life cycle, including asset and software management.
Bosch IoT Remote Manager and the Bosch IoT Suite for Device Management are fully managed cloud services that provide automatic scalability managed by Bosch.IO. They can react to changing workloads and guarantee availability based on tier features. The widely used Bosch IoT Remote Manager is additionally available for on-premises installations. In contrast, the pre-integrated Bosch IoT Suite for Device Management enables even better scalability thanks to its modern micro-service-based architecture.
Offered as directly bookable services and equipped with user-friendly UIs, our device management solutions can be used right away, but also allow full integration through modern APIs. Also, our professional services teams have been enabling customers to manage IoT devices for many years. We have the experience and expertise to assist you in your IoT journey and operationalize your IoT ideas, while you concentrate on what is important for your business. You can focus on IoT application development that adds value, rather than on IoT platform development, hosting, and maintenance. Grow quickly from prototyping to operating as a full-scale IoT-enabled enterprise with Bosch IoT Suite.