IoT has the potential to transform a wide range of industries and applications, from home automation to health to retail to manufacturing to smart cars and connected cities. The benefits of applying IoT across these various domains arise as a result of operational efficiencies. These efficiencies are achieved when the data from IoT devices, including smart sensors, is analyzed to obtain insights that may be acted upon to save time, reduce costs, or deliver an improved user experience.
Insights provide the most value when IoT devices and the data they produce are reliable and secure. However, to gain these insights the data needs to be analyzed in a timely fashion. This data can be collected and integrated from many distributed devices and analyzed at scale, because small productivity gains applied thousands of times within a large-scale IoT system such as a connected city quickly add up.
My first two developerWorks learning paths, IoT 101: A quick-start guide for IoT developers and IoT 201: Building skills in IoT development, introduced you to key skills, concepts, and technologies for IoT development. In my final learning path, I’ll help you tackle some of the most challenging issues that face developers: security, device management, and analytics.
An IoT development best practice is adopting a security-by-design. The task of securing IoT devices is onerous due to the vast number of connected devices, the difficulty of updating devices once they have been deployed, and the sensitive nature of the data that is collected. In addition to securing the IoT devices themselves, IoT security involves securing the data, the network, and any applications that access the devices and data, including cloud and mobile apps. It is vital that developers understand the security challenges involved in developing IoT solutions and learn strategies for working around themso that they can avoid repeating common mistakes that can compromise the security of an IoT system.
Managing and maintaining IoT devices is a challenge, because IoT solutions mature and the scale of the system shifts towards thousands or even millions of connected devices. Device management is essential at every stage of the device lifecycle, including the provisioning, on-boarding, and authentication of new IoT devices. This stage includes the managing and monitoring of deployed devices, including the troubleshooting and remote debugging of devices and the decommissioning of devices when they are retired. By automating these processes, developers can:
- Scale their IoT solutions rapidly
- Maintain consistent configurations across deployed devices
- Schedule over-the-air updates for device software to ensure that the devices continue to operate and produce data effectively, reliably, and securely
The data produced by the IoT devices alone is of limited value. Greater value can be discovered by first applying analytics to gain insights and then by performing actions automatically in response. IoT device data is currently underutilized, because only a small fraction of the data that is collected and stored from IoT devices is actually analyzed. Applying analytics to the huge volumes of heterogeneous data that is captured across a range of locations and distributed across multiple data stores is a daunting task. The data likely requires filtering, normalization or transformation, might be of variable quality or reliability, or might be time-sensitive and require immediate action to get the most value. These issues can be mitigated by adopting edge analytics or real-time analytics tools alongside a rules engine and decision manager to automate triggering actions.
Are you ready to get serious about IoT development?
My upcoming developerWorks learning path, IoT 301, focuses on these key IoT development technologies that developers need to apply when getting serious about IoT development.
In the coming weeks, we will be publishing a summary of the top 10 security challenges in IoT, a guide to device management, an overview of IoT data analytics approaches, and a video tutorial on applying rules and actions to IoT data.