Building up frameworks and services to accelerate product delivery for the Internet of Things (IoT) takes lots of time and effort. It also often involves a skill set that developers don’t have or want to develop given how difficult it is to concentrate on specific aspects of a solution, be it an IoT end device like a sensor system, a gateway, or an app for a smartphone or embedded controller.
Part of the challenge of moving from a standalone device or one with a limited networking repertoire to an IoT solution is due to the increasing number of hardware and software components needed in a solution—complexity that causes issues in everything from design and debugging to long-term management and security. Issues can range from connectivity to security to latency.
For example, pressing a virtual button on a smartphone running an IoT control app may affect an IoT device. How long this takes depends on a variety of factors, including sending a message up to the cloud and back down to the device. This may be suitable for flipping a light on or off, but might not be fast enough when controlling a drone. On the other hand, a “smart” drone may be able to work well with higher latency, since it would be handling chores like obstacle avoidance and flight stability.
Choosing an IoT Walled Garden
Many companies promise an “end-to-end” IoT solution. They provide stacks running on microcontrollers that link to cloud services. Developers need to incorporate the stack and link their application to it. Services provided by the stack can range from basic communication with the cloud to handling secure over-the-air (OTA) updates.
Regardless of the breadth and depth of support, the IoT solution requires a cloud component, of which there are many options. Some of the big players include Amazon Web Services (AWS) IoT, Microsoft Azure IoT Hub, Google Cloud, Oracle IoT Cloud, IBM Watson Cloud, CISCO IoT Cloud Connect, Salesforce IoT, Bosch IoT Suite, General Electric Predix, and SAP IoT Platform. Some of these provide specialized services such as General Electric’s Predix targeted at industrial IoT (IIoT) applications. Many of these organizations provide generic cloud-computing services as well, which often obfuscates the discussion because the IoT services are typically built on top of the computing services.